View Full Version : گفتگو: افزونه نویسی یا تخصصی درست کردن یک سایت؟
r4hgozar
چهارشنبه 18 آذر 1394, 12:12 عصر
سلام.
می خواستم بدونم اساتید و دوستان چه نظری درباره این دارن که آیا بهتر اینه که ما بیام و افزونه نویسی کنیم برای قابلیت های متعدد سایتمون و یا اینکه بیام یک سایت بنویسیم و مدل های مختلفی از اون رو توسعه بدیم؟
همونطور که می دونین یکی از اشکالاتی که به سایت ساز ها می گیرن اینه که اونها جوری طراحی شدن که برای همه چی طراحی شدن و اگه کسی بخواد برای یک کار تخصصی کار کنه معمولا سرعت پایینی دارن.
حالا نوشته افزونه و سایت ساز کردن به نظرتون ایده خوبیه و یا تخصصی نوشتن و ورژن کردن.
منظورم از تخصصی نوشتن ایه که مثلا الان من دارم برای هر سایتم classlibrary هایی رو تشکیل میدن و بسیار سطح بندی شده اما وابسته به هم میام و از اونها استفاده می کنم.
repository
service
model
و...
اما وقتی بخوام طراحی رو افزونه ای کنم این امکان وجود نداره و باید امکانات مدل و بخش های هر افزونه کاملا در قسمت خودش باشه.
امیدوارم تونسته باشم خوب توضیح داده باشم.
ممنون میشم راهنماییم کنید
hadi0x7c7
چهارشنبه 18 آذر 1394, 19:11 عصر
آیا این جواب سوال شما نیست ؟
http://www.dotnettips.info/post/2067/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-%D9%BE%D8%B0%DB%8C%D8%B1-%D8%A8%D8%A7-asp-net-mvc-4-x-5-x-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84
hakim22
چهارشنبه 18 آذر 1394, 22:12 عصر
برای من پیش نیومده که دو پروژه از یک بخش کاملا یکسان استفاده کنند. ممکن قسمتهای تکراری در چند پروژه وجود داشته ولی در جزئیات فرقهایی داشته . مثلا یک بخش برای مدیریت کاربران در خیلی از سایتها نیاز است. ولی برای یک سایت کاربرها با ایمیل ثبت نام می کنند ، در یکی دیگه با نام کاربری ، یکی هم با شماره موبایل کار میکنه و ...
گیرم بخش مدیریت کاربرها رو به صورت ماژول طراحی کنیم.(تبدیل به یک dll جدا کنیم) برای هر پروژه باید این ماژول تغییر کنه. (dll تغییر کنه)
نوشتن ماژولی که به اندازه ی کافی انعطاف پذیر باشه و بشه در خیلی از پروژه ها با کمترین دردسر ازش استفاده کرد کار پیچیده ای هست.
اگر هدف شما اینه که برنامتون قابل توسعه توسط دیگران باشه (مثلا جوملا) از ماژولهای جدا گانه استفاده کنید و کلا با دید ماژول به پروژه نگاه کنید.
ولی در غیر این صورت کد اختصاصی بهتره. اینطوری سورس همیشه در دسترس شما هست و میتوانید بسته به نیاز تغییرش بدید.
یک پروژه ی مادر برای نقطه ی شروع کارتون پیاده کنید. یک پروژه ی عمومی که نیازهای اولیه هر پروژه ای توش تعریف شده باشه.
(یک چیزی مثل https://visualstudiogallery.msdn.microsoft.com/6cf50a48-fc1e-4eaf-9e82-0b2a6705ca7d) یا از Template های آماده استفاده کنید.
همیشه میتوانید کدی بنویسید که به راحتی در پروژه های دیگه قابل استفاده باشه . لزوما نه به صورت ماژول یا dll بلکه به صورت class و فایل)
مثلا از Namespace یکسان در همه پروژه ها استفاده کنید و همینطور ساختار پروژه هاتون رو طوری تنظیم کنید که در همه ی پروژه ها یکسان باشه.
r4hgozar
پنج شنبه 19 آذر 1394, 08:58 صبح
آیا این جواب سوال شما نیست ؟
http://www.dotnettips.info/post/2067/%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C-%D8%A7%D9%81%D8%B2%D9%88%D9%86%D9%87-%D9%BE%D8%B0%DB%8C%D8%B1-%D8%A8%D8%A7-asp-net-mvc-4-x-5-x-%D9%82%D8%B3%D9%85%D8%AA-%D8%A7%D9%88%D9%84
منظور من بود که آیا این درسته یانه؟
نحوه انجامش رو بلدم.
r4hgozar
پنج شنبه 19 آذر 1394, 09:03 صبح
ممنون اقا حکیم.
اما یه چیزی که مد نظر من بود از طرح این سوال این بود که ما به عنوان مثال وقتی می خوایم سفارش پروژه بگیریم باید تک تک بیایم و به مشتری توضیح بدیم که این کار شدنه این کار قیمتش اینه این امکانت رو داره.
اما اگه بیایم و ماژول نویسی کنیم دیگه امکانات و قیمتش مشخصه. این سایت با این امکانات به قیمت x.
هر چی هم طرف امکانات بخواد اضافه کنه دیگه دوباره نویسی نیاز نیست. یا همون کپی پیست کردن اطلاعات فقط لازمه ماژولش نصب بشه.
در واقع یه محصول داره ساخته و فروخته میشه. منظروم از جنبه زمان و مخصوصا اینکه امکانات مشخص در قالب به ورژن از سایت بود.
باز هم ممنون از راهنماییتون.
hakim22
پنج شنبه 19 آذر 1394, 10:25 صبح
اما اگه بیایم و ماژول نویسی کنیم دیگه امکانات و قیمتش مشخصه. این سایت با این امکانات به قیمت x.
همه چیز برمیگرده به هزینه و فایده.
زمانی که صرف نوشتن پروژه ی ماژولار و ماژولها می کنید (مثلا یک ماه )باعث میشه بتونید هر ماژول رو در مثلا 5 دقیقه روی پروژه سوار کنید.
در برابر کپی و پیست کردن فایلها برای هر پروژه مثلا 10 تا 20 دقیقه زمان میبره بگیم حداکثر 1 ساعت برای هر 5 تا ماژول. یعنی اگه شما 20 ماژول آماده داشته باشید در یک صبح تا ظهر روز 5 شنبه میتوانید یک پروژه ی جدید با همه ی آن ماژولها داشته باشید. که البته هزینه ی این مدت کار رو از کارفرما میگیرد.
پس اگر شما بیشتر از 4 پروژه در روز باید تحویل بدید که امکانات آنها ترکیبی از ماژولهای شماست و هیچ چیز دیگری نیاز ندارد بهتر از ماژولار کار کنید.
ولی اگر هفته ای یک پروژه ی جدید کار میکنید و ماژولها فقط یک نقطه ی شروع است و نیاز هست که هم ماژولها تغییر کند و هم امکاناتی به سایت اضافه شود که قبلا به صورت ماژول وجود ندارد در کوتاه مدت سیستم ماژولار به ضرر شما تمام میشود. چون شما هزینه و زمان زیادی رو باید صرف پیاده سازی سیستم ماژولار کنیدو هزینه ی آن را هم نمیتوانید از یک مشتری بگیرید. باید سرشکن کنید و بعد از 50 تا پروژه در سال برای شما بازگشت کند. در سال دوم یا بعد از 50 تا پروژه سیستم ماژولار برای شما فقط سود دهی دارد.
ولی در آن موقع خیلی از Package ها باید آپدیت شوند. خیلی از ماژولها باید تغییر کنند همینطور شما به عنوان یک برنامه نویس رشد می کنید و ایده های جدیدی پیدا میکنید که سیستم ماژولار خودتون رو بهبود بدید و برمی گردید به چرخه ی سال اول.
از باب هزینه ی مستقیم :
در روش ماژولار شما یک هزینه ی سرشکن شده (ماژول)میگیرید + 5 دقیقه برای نصب ماژول
در روش دستی شما یک هزینه ی سرشکن شده (کد) میگیرید+ 20 دقیقه برای نصب ماژول(کپی و پیست کردن فایلها + بیلد مجدد)
هزینه ی سرشکن شده ی ماژول = هزینه سرشکن شده ی پروژه مادر + هزینه ی سر شکن شده کد ماژول + هزینه ی سرشکن شده تبدیل کد به ماژول
هزینه ی سرشکن شده کد = هزینه ی سر شکن شده کد ماژول
در این صورت باید هزینه ی سرشکن شده ی هر ماژول برای شما خیلی پایین باشه (تعداد پروژه ها زیاد باشه) که برای شما از نظر قیمت و زمان صرف داشته باشه.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.