راکت

best practices برای پوشه بندی هنگام استفاده از دیزاین پترن ها چیه

9 پاسخ

سلام دوستانی که یا دیزاین پترن ها آشنایی خوب دارند لطفا بفرمایید که در یک پروژه برای پوشه بندی واسه دیزاین پترن چجوری باید پیش بریم
مثلا strategy رو در نظر بگیرید و ما میخواهیم برای ارسال پیام به روش های email و sms از این دیزاین پترن استفاده کنیم حالا ساختار پوشه چجوری باشه به نظر شما برای این سناریو و یا کلا حالت های دیگه

ثبت پرسش جدید

پاسخ‌ها

9
علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

در یه پروژه لاراول همه کلاس ها namespace خودشون رو دارند
پس تفاوتی نمیکنه.
من شخصا روش زیر رو می‌پسندم

یک فولدر Messages یا Notifications به فولدر app اضافه میکنم
که داخلش اینترفیس قرار داره + یه فولدر Drivers که کلاس های مختلف (SMS, Email, ..) داخل اون قرار می‌گیره.

علیرضا صالحی
علیرضا صالحی
@aliunity751

@ali.bayat
یعنی به این صورت

|------------ app (folder)
   |----------------------- message (folder)
      |----------------------- interface.php
      |------------------------------- Drivers (folder)
           |----------------------------------------- sms.php
           |----------------------------------------- email.php

بسیار عالی شما برای همه این به صورت استفاده میکنید مثلا برای adaptor هم همیجوری

شاید پاسخ شما همین‌جا باشد

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

بله به همین شکل
اما یه نکته رو در نظر داشته باش
مهم اینه که شما این الگو ها رو بخوبی در جایی که لازمه به کار ببرید..
ساختار فولدر ها بیستر یه جور کانونشن هست تا یک اصل
پس اگر دوست داشتی به سبک دیگه ای هم فایل ها رو ساختار بندی کنی،‌ مادامی که الگو رو درست پیاده سازی کنی خیلی فرقی نداره

علیرضا صالحی
علیرضا صالحی
@aliunity751

@ali.bayat خیلی ممنون از پاسخ خوبتون😘😘🌹🌹 کاش دوستان دیگه هم روش کاری خودشون واسه پوشه بندی رو میگفتن.
@TimeRunner2359
@hesammousavi

احسان قربانی
احسان قربانی
@TimeRunner2359

تخصص: PHP ، در حال یادگیری لاراول ، MidLevel درفرانت اند

@aliunity751
سلام و وقت بخیر
من آنچنان حرفه ای نیستم :) و البته خیلی به دیزاین پترن ها آشنایی ندارم :| :)
دوستان بیشتر می‌تونن کمک کنند از جمله @hosseinshirinegad98 @mohsenbostan @forughi.vahid
موفق و سلامت باشید
یا حق

محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

@aliunity751
سلام.
ببینید این سوال که پرسیدید، خیلی به شرایط وابسته ست. یعنی فاکتور های زیادی رو در بر میگیره.
برای اون مثالی که زدید، نمونه آقای بیات یک نمونه خوبه. اما طبق شرایط می تونه تغییر کنه! برای مثال اگر درایور Email گستردگی داشته باشه، ترجیح اینه که کلا به جای یک فایل واحد، برای اون یک namespace در نظر بگیرم و محتویات رو جدا کنم.

علیرضا صالحی
علیرضا صالحی
@aliunity751

@mohsenbostan
بله نظر شما درسته ولی وقتی برای کارهای تکراری سلوشن و beast practice هایی وجود دارد قطعا برای پوشه بندی هم وجود دارد

احسان قربانی
احسان قربانی
@TimeRunner2359

تخصص: PHP ، در حال یادگیری لاراول ، MidLevel درفرانت اند

@aliunity751
فقط مخظ اطلاع بگم best practices هست نه beast practices,
beast به معنی هیولا است 😅

علیرضا صالحی
علیرضا صالحی
@aliunity751

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام