۲ مطلب با کلمهی کلیدی «معرفی AntiPattern» ثبت شده است
معماری n-layer
بسم الله الرحمن الرحیم
معماری n-layer
بخش سوم
در بخش قبل معماری های نرم افزار را بررسی کردیم و همچنین معماری سه لایه را بیان کردیم. در این بخش قصد داریم معماری های n-Layer یا معماری های چند لایه ای را بررسی کنیم.
سبک طراحی و شیوه ساخت را معماری می نامند. با اتکا به همین تعریف طبیعتا به چیدمان بخش های مختلف نرم افزار معماری نرم افزار می گویند. حال پس از گذشت سال ها در حوزه ی طراحی نرم افزار معماری هایی به عنوان معماریی های شناخته شده مورد استفاده قرار می گیرند مانند معماری 3 لایه که در بخش پیش بررسی کردیم. پس از معرفی شدن معماری نرم افزار و گرایش بسیاری از شرکت های کوچک و بزرگ به پیروی از این معماری، آرام آرام این دانش کامل شد و معماری های مختلفی ظهور پیدا کردند که امروزه نرم افزار های مختلف از این معماری ها بهره می برند.
مدتی پیش یکی از دوستان سوالی در خصوص معرفی بهترین معماری نرم افزار مطرح کرده بودند. این سوالی است که بسیاری از افراد به دنبال پاسخ آن هستند. شاید بتوان با ذکر یک مثال پاسخ این مسئله را بهتر بیان کرد، اگر از شما به عنوان طراح و معمار یک شرکت ساختمانی بخواهند برای چندین پروژه ی متفاوت مسکونی، تجاری، دانشگاهی، بیمارستانی و... نقشه های ساختمان را طراحی کنید. بهترین معماری را چگونه انتخاب خواهید کرد.
طبیعتا معماری یک بیمارستان با معماری یک پاساژ تجاری یا معماری ساختمان مسکونی قابل مقایسه و ارزیابی نیست زیرا هر یک نیازمندی های خود را دارند و برای هر یک باید روش خاصی را در نظر گرفت.
تصور می کنم پاسخ سوال را بیان کرده باشم، طبیعتا نمی توان یک معماری را خوب و یا یک معماری را بد دانست (البته اگر موارد فنی آنها رعایت شده باشند)، معماری های متفاوتی وجود دارند که شما می بایست بر اساس تیم فنی خود، پروژه و سایر عوامل، معماری مناسب را برای سازمان و کار خود انتخاب کنید. اما با وجود همه ی این مسائل معماری هایی وجود دارند که نسبت به سایر معماری ها شهرت دارند، مانند معماری 3 لایه و یا معماری 5 لایه.
پیشنهاد می کنم برای انتخاب یک معماری ابتدا مفاهیم آن را فرا بگیرید و سپس بر اساس نیاز خود معماری مناسبی را انتخاب و یا طراحی کنید.
در طراحی معماری یک نرم افزار می بایست مباحثی را مد نظر قرار داد که برخی از آنها را در این بخش بررسی خواهیم کرد.
انواع معماری های نرم افزار
بسم الله الرحمن الرحیم
انواع معماری های نرم افزار
بخش دوم
مقدمه
داشتن یک الگوی مناسب در هر کاری باعث میشود شما به صورت برنامه ریزی شده و در یک چارچوب حرکت کنید در نتیجه خروجی کار هم بسیار بهتر خواهد بود. بحث مهندسی نرم افزار هم از این قانون تبعیت میکند وقتی در تولید یک نرم افزار از الگوها استفاده کنیم باعث میشود که سرعت تست نرم افزار بیشتر شود، و امکان توسعه نرم افزار بعد از مدتی بسیار راحت تر و سریعتر صورت گیرد. امروزه برنامه نویسی که آشنا به این الگوها نباشد با مشکلاتی روبرو می شود زیرا شرکت های نرم افزاری موفق در ارائه محصولات خود از الگوهای معرفی شده در این صنعت بهره می برند.
در این مقاله سعی خواهم کرد تا به معرفی الگوهای معماری و طراحی نرم افزار بپردازیم امیدواریم که این مطالب بتوانند مفید واقع شوند.
الگوهای برنامه نویسی
اگر بخواهم در مورد الگو صحبت کنم در واقع باید بگم یک الگو راه حلی برای حل مسایل است که در گذشته به عنوان بهترین راه حل ارائه شده، الگوها ساختارها و روش (methodology) های کلی ایجاد میکنند. یک الگو یک abstraction قابل تشخیص است که در موقعیتها و برنامه های کاربردی مختلف تکرار شده و متناوبا استفاده میشود. این موقعیت میتواند مربوط به ساختار (Structure) باشد که مبین الگوی معماری است و یا توصیفی از رفتار (behavior) نرم افزار باشد که تعریفی از الگوی طراحی است و یا در خصوص یک زبان برنامه نویسی خاص باشد که در این صورت الگوی زبان نام دارد.