تضاد بین تکرار کد و loosely coupling  

پرسیده شده
فعالیت 1364 روز پیش
دیده شده 424 بار
0

سلام 
فرض کنید برنامه ما ماژول های متفاوتی داره  و  (... و user , ticket ,product)  
اگر ما بخواهیم کد های بنویسیم که بصورت helper باشن و ماژول های از اون ها استفاده کنن , ما از تکرار کد ها در برنامه جلوگیری کردیم و helper های ما داینامیک   هستن  , اما ما دچار یک مشکل به نام loosely coupling  خواهیم شد کد های ما به شدت به هم وابسته هستن و مستقل نیستن , و customization  برای هر ماژول نداریم
چون اگر بخواهیم یک تغییر برای یک helper یک ماژول بدیم بقیه ماژول ها دچار تغییر و ایراد میشن
اما اگر برای هر ماژول helper تعریف کنیم و اکثر helper  ها , هم در ماژول ها شبیه هم باشن ما می تونیم در آینده هر helper هر ماژول اختصاصی تغییر بدیم و این جا ما customization داریم و مشکل loosely coupling   نخواهیم داشت اما تکرار کد خواهیم داشت و کد های ما داینامیک نیستن 
مثلا در reactJS کامپونت pagination  میسازیم برای همه جداول پروژه اینجا ما مشکل اول داریم
اما اگر برای جداول بخش user یک کامپونت pagination  داشته باشیم و برای  ticket  و product بصورت جدا کامپونت pagination داشته باشیم مشکل دوم  داریم 
اینجا ما باید چیکار کنیم؟
سطح پروژه بزرگ هستش و همش در حال اضافه شدن ویژگی های جدید به پروژه هستیم

این میتونه در پروژه های nodeJS  و laravel هم رخ بده و در هر جایی  که ما  , برنامه بخش های مختلفی تقسیم می کنیم

 

فایل پیوست

محسن محمدخانی
محسن محمدخانی

22 مرداد 99

2
حذف شده

سلام خدمت شما. تا جایی که می تونید سعی کنید dependency های یک ماژول یا کلاس رو در زمان ایجاد اون بهش پاس بدید و از فرخوانی کردن کدهای global اجتناب کنید. سعی کنید ماژول هایی که مشترک هستند رو طوری در نظر بگیرید که حداقل اشتراک ها در اون در نظر گرفته شده باشه، مثلا برای همون pagination می دونیم حداقل رفتن به یک صفحه قبل یا بعد جز قابلیت های اصلی اون هست. می تونیم تمام این موارد رو به صورت ورودی های اون Component در نظر بگیریم. حالا اگر نیاز باشه یه جایی سفارشی سازی کنه اون Component رو اگر بشه از Composition استفاده کرد که چه بهتر در غیر این صورت باید یک Component سفارشی براش ایجاد کرد. فکر کنم منظور شما tight coupling بود چون lossly coupling یک مزیت محسوب میشه.

فایل پیوست

کیوان علی محمدی

توسط

کیوان علی محمدی

22 مرداد 99

جلسه ایجاد مدل دسته بندی محصول و ویژگی ها