معمولا معماریهای ارائه شد،ه بر اساس جداسازی لایههای نرمافزار میباشد. برای مثال در معماری Hexagonal که آنرا به Port & Adaptor هم میشناسیم، نرمافزار، با استفاده از لایههای Domain، Application، Infra و ... تفکیک میشوند. منطق تجاری در Domain پیاده سازی میشود و رابطهای مربوط به کار با دیتا تعریف میشوند. در لایهی Application، Portها و Adaptorهای مورد نیاز برای استفاده، پیادهسازی میشوند. در لایهی Infra، رابطهای تعریف شده در ...
در ابتدای مقاله، پیش از آن که وارد بحث معماری وب گرا بشوم، یک سوال را مطرح میکنم که شاید برای شما هم جالب باشد. آن سوال اینست : آیا SOA پاسخی برای همه چیز در حوزه معماری است؟ شاید اینطور نباشد. به ترکیب زیر دقت کنید : WOA / SOA + WWW + REST ترکیب فوق ما را چند قدم جلوتر برده و کاستیهای سرویس گرایی را پر میکند و ما را یاری میکند تا اپلیکیشنهای کامل end-to-end بسازیم. اگر چه مفهوم WOA شاید چندان فراگیر نباشد، ولی ...
DDD
چیست؟ روشی است ساده، زیبا، در وهله اول برای تفکر، و در وهله دوم برای
توسعه نرم افزار، که میتوان بر مبنای آن نیازمندیهای پویا و پیچیدهی حوزه
دامین را تحلیل، مدل و نهایتا پیاده سازی کرد.در این روش توسعه نرم افزار تاکید ویژه ای بر الزامات زیر وجود دارد:تمرکز اصلی پروژه، باید صرف فائق آمدن بر مشکلات و پیچیدگیهای موجود در دامین شود.پیچیدگیهای موجود در دامین پس از شناسایی به یک مدل تبدیل شوند.برقراری
یک رابطهی خلاق بین متخصصان ...
UIدر نهایت
نوبت به طراحی و کدنویسی UI میرسد تا بتوانیم
محصولات را به کاربر نمایش دهیم. اما قبل از شروع باید موضوعی را یادآوری کنم. اگر
به یاد داشته باشید، در کلاس ProductService موجود در لایهی Domain، از طریق یکی از روشهای الگوی Dependency Injection به نام Constructor
Injection، فیلدی از نوع IProductRepository را مقداردهی نمودیم. حال
زمانی که بخواهیم نمونه ای را از ProductService ایجاد نماییم، باید به
عنوان پارامتر ورودی سازن ...
Service Layerنقش لایهی سرویس این است که به عنوان یک مدخل ورودی به برنامه
کاربردی عمل کند. در برخی مواقع این لایه را به عنوان لایهی Facade نیز میشناسند. این لایه، دادهها را در
قالب یک نوع داده ای قوی (Strongly Typed) به نام View Model، برای لایهی Presentation فراهم میکند. کلاس View Model یک Strongly Typed محسوب میشود که نماهای
خاصی از دادهها را که متفاوت از دید یا نمای تجاری آن است، بصورت بهینه ارائه مینماید. در مورد الگوی Vi ...
Domain Model یا Business
Layerپیاده سازی را از منطق تجاری یا Business Logic آغاز میکنیم. در روش کد
نویسی Smart UI، منطق تجاری در Code
Behind قرار میگرفت اما در روش لایه بندی، منطق
تجاری و روابط بین دادهها در Domain Model طراحی و پیاده سازی میشوند. در مطالب بعدی راجع به Domain Model و الگوهای پیاده سازی آن
بیشتر صحبت خواهم کرد اما بصورت خلاصه این لایه یک مدل مفهومی از سیستم میباشد که
شامل تمامی موجودیتها و روابط بین آنهاست ...
طراحی یک معماری خوب و مناسب یکی از عوامل مهم تولید یک برنامه
کاربردی موفق میباشد. بنابراین انتخاب یک ساختار مناسب به منظور تولید برنامه
کاربردی بسیار مهم و تا حدودی نیز سخت است. در اینجا یاد خواهیم گرفت که چگونه یک
طراحی مناسب را انتخاب نماییم. همچنین روشهای مختلف تولید برنامههای کاربردی را
که مطمئنا شما هم از برخی از این روشها استفاده نمودید را بررسی مینماییم و مزایا
و معایب آن را نیز به چالش میکشیم.ضد الگو (Antipattern) – ...