PDA

View Full Version : آیا الگوها/معماری ها محدودیت مقیاس دارند؟



eshpilen
شنبه 18 مرداد 1393, 12:16 عصر
مثلا آیا سایتهای بزرگ و بسیار بزرگ مثل فیسبوک از معماریهایی مثل MVC استفاده میکنن؟ اصلا میشه؟ (با توجه به حجم و پیچیدگی اونا و توزیع شده بودن و تعداد زیاد سرورها و اجزایی که دارن) صرف میکنه؟ بصورت عمومی استفاده میکنن یا محدودتر (مثلا شاید فقط در بخشهای خاصی که راحتتره)؟
در این باره که سایتهای بزرگ و خیلی بزرگ از چه الگوها یا معماریهایی استفاده میکنن چه اطلاعاتی دارید؟
البته یکسری الگوها هستن که کوچک و موردی هستن، مثل singleton، که طبیعتا اینا رو میشه در جاهای مختلف هر کدی استفاده کرد. ولی بعضی الگوها یا شاید در واقع باید بگیم معماری ها، در مقیاس و ساختار کلی و بزرگ معنا دارن و پیاده سازی میشن یا اینکه در این مقیاس هم میشه یا معمول هست پیاده سازی اونا. ولی من مثلا تاحالا هرچی مثال و مورد MVC دیدم بطور مثال، درمورد سایتهای معمولی و کلیشه ای و با یک سرور بوده، نه سایتها و سیستمهای خیلی بزرگ و پیچیده و بخصوص توزیع شده.

DR.HTML
شنبه 18 مرداد 1393, 12:25 عصر
آخ این بحثی بوده که خیلی وقتها فکر منو مشغول کرده خیلی درموردش فکر کردم در نهایت به این جواب رسیدم محدود کردن برنامه نویس به الگو به نظر من اشتباهه نباید به الگو های از پیش تعریف شده فقط اکتفا کرد چون باعث عدم نواوری میشه خوب قرار نیست چون یه سایت بزرگ مثلا فیسبوک از فلان معماری یا الگو استفاده کرده ما هم بیایم از همون استفاده کنیم یا مثلا بگیم mvc همه جا جوابگو هستش شاید بعضیا بگن بله این معماریب الان هر سایتیو فکرشو بکنی بشه طی اون الگو ساخت اما برای اینده هم همینطوره به نظر من سایتها به شکل دارن پیش میرن که انسان با اون ارتباط نزدیکتری داشته باشه و به نظرم در اینده انسان شکل برخوردش با یه سایت عوض میشه ایا استفاده از الگوهای قدیم باعث نمیشه ما دچار محدودیت بشیم ؟

afee1990
شنبه 18 مرداد 1393, 12:29 عصر
وقتی میگید وبسایت بزرگ مثل فیسبوک باید مدنظرتون باشه که این بزرگی نه از جهت وسعت برنامه یا اسکریپت بلکه به خاطر وسعت بسیار زیاد داده‌‌هاست. و معماری‌ها و الگوهای طراحی برنامه‌نویسی ربطی به میزان داده نداره. در مورد این سایت‌ها و سرویس‌ها معماری پایگاه داده مهمه و چگونگی تقسیم اونها روی چند تا سرور. همچنین استفاده از CDNها هم مهمه.
مثلن فیسبوک نمیاد اسکریپتشو روی چندتا سرور قرار بده، بلکه دیتاهاشو روی چند سرور قرار میده و از CDN استفاده می‌کنه.

Veteran
شنبه 18 مرداد 1393, 12:29 عصر
من از تغییرات دائمی سیستم های بزرگ این برداشتو که میکنم که از معماری ها در سراسر سیستم استفاده میکنند!
حالا یک معماری بر کل سیستم پیاده سازی میشه مثه MVC و یک معماری هم جهت بهینه گی بر بخشی از کد! مثه singelon, factory و .....
حالا اینکه از چه معماری استفاده میکنند، دقیق مشخص نیست!
شاید معماری اختصاصی خودشون رو دارند ؟

sanaz.joon
شنبه 04 اردیبهشت 1395, 07:25 صبح
الگو های طراحی Design Pattern
مفهوم الگو طراحی تنها در دنیای نرم افزار کاربرد ندارد بلکه در سایر زمینه های علمی نیز به طور مشابه استفاده می شود. الگو برای اولین بار توسط یک معمار ساختمان به نام کریستوفر الگساندر معرفی شد. او فهمید که بناهای خوب، دارای ویژگی­ های مشابه هستند و این ویژگی­ های مشابه را الگو نامید. الگو دید مشترکی نسبت به مشکل است و پیاده­ سازی مفهوم الگو را تغییر نمی­دهد. هر الگو به توصیف مشکلی می ­پردازد که این مشکل در محیط، بسیار رخ می­دهد. الگوی طراحی یک مکانیزم برای بیان تجربه در طراحی شی‌ءگرا است و یک راه­ حل مناسبی که توسط افراد خبره برای یک نوع مشکل مدل شده، که بارها و بارها در طول طراحی می ­تواند استفاده شود . الگوها، توسعه‌دهندگان را قادر می­سازند تا از راه‌حل خاصی که توسط افراد خبره مدون شده است مجدداً استفاده نمایند. الگوهای طراحی، مجموعه از دستورات هستند که نحوه انجام عمل معینی را در دنیای برنامه نویسی نشان می دهند(pree 1994). اتخاذ الگوی طراحی در طراحی برنامه­ های کاربردی و وب می­تواند قابلیت استفاده مجدد و سازگاری بهتری را حمایت و ارائه کند . هرچه از عمر برنامه ­نویسی شی‌ءگرا می­ گذرد توسعه­ دهندگان الگوهای بهتری را می­ توانند طراحی و ارائه نمایند که باعث می­ شود قابلیت گسترش و نگهداری را بهتر پشتیبانی کنند. الگوهای طراحی نتایج تجربیات یک برنامه نویس نیست، بلکه حاصل تجربیات صدها برنامه نویس و طراحی حرفه ای است که در طول سال های بسیار به دست آمده اند. الگوهای طراحی ابدا شده یا اختراع شده نیستند بلکه بازخورد طراحی ها و کد نویسی های مجدد است که برنامه نویسان برای کسب بیشترین انعطاف پذیری، توسعه پذیری و قابلیت استفاده ی مجدد با آن ها درگیر بودند. الگو های طراحی را می توان خلاصه تجربیات موفق برنامه نویسان دانست. استفاده از الگوهای طراحی باعث می شود که طراحی به دست آمده ساده، انعطاف پذیر و قابلیت استفاده مجدد بیشتری داشته باشد. با استفاده از الگوهای طراحی می توان در زمان و هزینه صرفه جوی کرد و همچنین مستند سازی و نگهداری سیستم آسانتر می شود
برای ادامه مطلب وآموزش های مفید دراین رابطه به وبلاگ زیر مراجعه کنید
www.pfr.blogfa.com