🎁 تخفیفات عیدانه دوره های آموزشی آتریا را از دست ندهید🎁

آموزش معماری پیاز (onion architecture)

توضیحات دوره

عبارت “Onion Architecture” معروف به معماری پیاز اولین بار توسط آقای Jeffery Palermo و در سال ۲۰۰۸ مطرح گردید. در این معماری هر لایه، به لایه ی داخلی تر وابسته بوده و به آن دسترسی دارد. لایه های داخلی هیچ Reference و اشاره ای به لایه های بالاتر ندارند، هرچند می توانند با ارسال Event آن ها را از وقوع رویدادی آگاه کنند. در این معماری لایه ی Domain، داخلی ترین لایه بوده و به هیچ لایه ی بیرونی وابستگی ندارد. این معماری با تکیه بر اصل Dependency Inversion تمام وابستگی های لایه ی Domain را در قالب Interface ها در اختیار آن قرار می دهد تا این لایه از جزئیات پیاده سازی و وابستگی به ابزارهای زیر ساختی در امان باشد.

آموزش معماری پیاز (Onion Architecture)

مهمترین دلیل برای ایجاد چنین معماری ای، نیازمندی به ساختاری است تا قابلیت نگهداری برنامه ها در دراز مدت را فراهم نماید. این مورد با رعایت اصل Separation Of Concerns در سرتاسر سیستم به دست می آید.

نکته حائز اهمیت در رابطه با Onion Architecture این است که این معماری برای پروژه های ساده و سبک اصلا مناسب نیست بلکه برای برنامه های بزرگ با رفتارهای پیچیده مناسب می باشد.

معماری پیاز یکی از بهترین معماری های موجود برای پیاده سازی Testability ( قابل تست بودن )، Maintainability ( قابلیت نگهداری ) و Dependability ( قابلیت اطمینان ) در ساختار نرم افزار می باشد.

در این دوره آموزشی ما یک پروژه عملی تحت ASP.Net Core MVC را با استفاده از معماری پیاز به صورت کاملا حرفه ای پیاده سازی نموده ایم تا شما را به طور کامل و حرفه ای با Onion Architecture آشنا کنیم. با یادگیری این دوره آموزشی از این پس شما به راحتی می توانید برنامه های بزرگ با رفتارهای پیچیده را با استفاده از معماری Onion به خوبی پیاده سازی کنید. اگر خواستار تغییر در رویکرد برنامه نویسی خود به شکل کاملا حرفه ای و اصولی هستید و قصد دارید با برنامه نویسان باتجربه در شرکت های نرم افزاری همکاری کنید، یادگیری این بسته آموزشی رو به شما عزیزان توصیه می کنیم. چرا که این بسته آموزشی خیلی جامع و کامل به معماری Onion و طراحی ساختار پروژه به صورت حرفه ای پرداخته و نکات غنی زیادی برای شما دوستان گرامی همراه دارد.

سرفصل دوره

معرفی دوره معماری پیاز (2 قسمت)

معرفی دوره
تضمین کیفیت و راه های پشتیبانی

اصل معکوس سازی وابستگی (Dependency Inversion Principle) (6 قسمت)

اصول SOLID در برنامه نویسی شئ گرا
اصل معکوس سازی وابستگی (DIP)
مفهوم Tightly Coupled Dependency چیست؟
مفهوم Loosely Coupled Dependency چیست؟
اعمال اصل معکوس سازی وابستگی ها (DIP)
IOC Container چیست؟

Built-in .Net Core IOC Container (8 قسمت)

معرفی IOC Container موجود در DotNet Core
استفاده از IOC Container موجود در DotNet Core
طول عمر سرویس ها (Service Lifetimes)
طول عمر Transient
طول عمر Scoped
طول عمر Singleton
Resolving Services From Main
Service Registration Methods

معایب و مزایای معماری Flat و تک لایه ای در MVC(Model-View-Controller) (8 قسمت)

MVC Architecture Introduction
MVC Architecture In Action
معایب معماری تک لایه ای - Technology
معایب معماری تک لایه ای - Testability
معایب معماری تک لایه ای - SRP
معایب معماری تک لایه ای - Scalability
معایب معماری تک لایه ای - CleanCoding
مزایای معماری تک لایه ای

آموزش معماری پیاز (Onion Architecture) (5 قسمت)

Onion Architecture Introduction
لایه دامین (Domain Layer)
لایه اپلیکیشن (Application Layer)
لایه کاربری (Presentation Layer)
لایه زیرساخت (Infrastructure Layer)

پروژه عملی Master Blogger - پیاده سازی بخش Article Category (13 قسمت)

معرفی بخش
پیاده سازی لایه های Domain و Application
پیاده سازی Repository
افزودن لایه Presentation
پیاده سازی لایه Infrastructure.Core
ایجاد Database پروژه
List Article Categories
Create Article Categories
Edit Article Categories
Change Status Article Categories
Domain Service & Validation
ساخت Exception های اختصاصی
ایجاد Github Repository

پروژه عملی Master Blogger - پیاده سازی بخش Article (11 قسمت)

معرفی بخش
پیاده سازی لایه های Domain و Application
پیاده سازی Repository و Mapping
ساخت دیتابیس
List Articles
Create Articles
Edit Article
Remove & Activate Article
Domain Service & Validation
پیاده سازی User Interface
پیاده سازی User Interface - Article Details

پروژه عملی Master Blogger - پیاده سازی بخش Comment (8 قسمت)

معرفی بخش
پیاده سازی لایه های Domain & Application
پیاده سازی Repository و Mapping
ساخت دیتابیس
Add Comment
List Comments
Confirm & Cancel Comments
نمایش Comment ها در سایت

پروژه عملی Master Blogger - بهینه سازی طراحی (4 قسمت)

معرفی بخش
Domain Refactoring
Generic Repository
Unit Of Work

سورس کدهای پروژه (0 قسمت)

اطلاعات دوره آموزشی


  • مدرس دوره: حسین عباس آبادی
  • مدت زمان دوره: 8:32:52
  • تعداد ویدیو: 65
  • آخرین بروزرسانی: 1399/11/08

پیش نیازهای دوره

  • آشنایی با یک زبان برنامه نویسی
  • آشنایی با برنامه نویسی object oriented (شی گرا)
  • آشنایی با Asp.net Core MVC

تجهیزات و استاندارد های ضبط دوره ها

یکی از مهمترین مواردی که برای تهیه یک دوره آموزشی حائز اهمیت است، کیفیت و رعایت استانداردهای ضبط دوره است. به طوری که کیفیت صدا و تصویر ویدیوهای آموزشی و همچنین رعایت استانداردهای ضبط، باید در بهترین حد و مطلوب باشد. برای این منظور، موسسه آموزشی آتریا با بهره گیری از بهترین تجهیزات ضبط صدا و تصویر و رعایت استانداردهای آموزشی تلاش کرده است تا بسته های آموزشی با بهترین کیفیت را در اختیار دانشجویان عزیز قرار دهد. در زیر به بخشی از این تجهیزات و استانداردها اشاره می کنیم:

میکروفون ضبط صدا

آموزش asp.net core 5

مسلم است که یکی از مهمترین ویژگی های هر ویدیو آموزشی، کیفیت صدای ویدیو است که باید بدون نویز، واضح و شفاف باشد. کیفیت صدای فوق العاده، شفافیت و صدای بدون نویز، از اصلی ترین ویژگی های میکروفون RODE NT-USB است که موسسه آموزش آتریا از آن برای ضبط دوره ها استفاده می کند. اگر ویدیوهای رایگان دوره را مشاهده کرده باشید، به وضوح کیفیت صدای استاد را احساس می کنید.

تصویر مدرس در کنار ویدیوها

آموزش asp.net core 5

یکی از مشکلات رایج بیشتر پکیج های آموزش، خستگی ناشی از یکنواختی روند ویدیو آموزشی است چرا که اکثر این ویدیوها از پویایی لازم برخوردار نیستند. این خستگی باعث می شود که راندمان یادگیری پایین آمده و در بعضی اوقات دانشجویان دوره تا انتها دنبال نکنند. برای برطرف کردن این مشکل، دوره های آموزشی به گونه ای ضبط شده است که دانشجویان می توانند تصویر دسکتاپ و مدرس را به صورت همزمان مشاهده کنند، به طوری که ویدیو آموزشی، تداعی کننده کلاس حضوری باشد. بنابراین، جدا از تصویر دسکتاپ، تصویر مدرس نیز با استفاده از دوربین Microsoft ضبط شده است.

کیفیت 1080p Full HD ویدیوها

آموزش asp.net core 5

از آنجا که مهمترین دغدغه ما در تولید آموزش ها، کیفیت مطلوب است، تمام ویدیوهای موسسه آموزشی آتریا با بالاترین کیفیت یعنی 1080p ضبط شده اند. کیفیت بالای تصویر بسته ها باعث می شود تا شما کدها و اسلایدهای مورد استفاده مدرس را بهتر ببیند.

استاندارد زمانی ویدیوهای آموزشی

یکی از استانداردهای ویدیوهای آموزشی، توجه به مدت زمان آن ویدیو است. به نحوی که ویدیوها دارای مدت زمان بین 5 تا 20 دقیقه باشند تا منجر به خستگی دانشجو نگردد. برای این منظور سعی شده است تا حتی الامکان این استاندارد در ضبط ویدیوهای آموزشی رعایت شده باشد.

جامعیت دوره ها

یکی از ویژگی های اساسی بسته های موسسه آموزشی آتریا، جامعیت آنها است. جامعیت به این معنا که با تهیه بسته آموزشی، تمام مباحث مربوط  در آن زمینه را به خوبی فراگرفته و دیگر نیازی به منابع جانبی نداشته باشید. برای این منظور مدرسین مجموعه تلاش کرده اند تا دوره های آموزشی را به صورت کاربردی و پروژه محور ضبط کنند، به طوری که دانشجویان پس از یادگیری، توانایی پیاده سازی و راه اندازی پروژه های واقعی را داشته باشند. بنابراین رویکرد ما در تولید بسته ها، آماده سازی دانشجویان برای ورود به بازار کار و یا ارتقاء جایگاه شغلی ایشان است.

لطفا، بدون ریسک خرید کنید!

ضمانت بازگشت وجه از موسسه آموزشی آتریا
موسسه آموزشی آتریا تعهد می دهد در صورت عدم رضایت از کیفیت این آموزش، تا 7 روز پس از خرید، مبلغ پرداختی را به شما برگرداند. این حق شماست که در ازای مبلغی که پرداخت می کنید، محصول با کیفیت دریافت کنید.

پلن های قیمتی

00ثانیه
00دقیقه
00ساعت
00روز

بسته پایه

  • ضمانت بازگرداندن وجه
  • دریافت به روزرسانی های دوره آموزشی
  • پشتیبانی از طریق واتساپ و تلفن
  • 3 ساعت خصوصی آنلاین جهت رفع اشکالات
  • 250,000 تومان 150,000
خرید دوره

بسته ویژه

  • ضمانت بازگرداندن وجه
  • دریافت به روزرسانی های دوره آموزشی
  • پشتیبانی از طریق واتساپ و تلفن
  • 3 ساعت خصوصی آنلاین جهت رفع اشکالات
  • 500,000 تومان 400,000
خرید دوره

دانشجویان این دوره، دوره های زیر را هم شرکت کرده اند

نظرات خود را به اشتراک بگذارید
موسسه آموزشی آتریا
نظرات (14)
آرمین عمادی
1399/12/20

سلام و خسته نباشید داخل آموزش شما برای UI داخل Infrastructure یک لایبرری جدا در نظر گرفتین و گفتین داخل ریپازیتوری نباید موارد مربوط به UI پیاده سازی بشه اما برای Category و Article داخل ریپازیتوری ViewModel برگردوندیم که مستقیم روی UI نمایش داده میشه میخواستم بدونم از کجا باید تشخیص بدیم چه مواردی مربوط به UI روی ریپازیتوری پیاده سازی بشه و چه مواردی داخل Infrastructure و لایبرری مخصوص UI با سپاس از دوره خوبتون

مدیر آموزش
1399/12/20

باسلام و احترام. منظور از موارد مربوط به UI، بخش هایی مانند API یا RazorPage ها و یا قالب های Template می باشد. ViewModel ها کلاس های خالصی هستند که متصل به UI نیستند و در ClassLibrary جداگانه ای قرار دارند (ApplicationContract). بنابراین ما اصلا لایه Infrastructure را به UI یا همان Presentation متصل نکرده ایم. باتشکر از سوال خوبتون

علی قاسمی
1399/10/26

سلام استاد. وقت بخیر. فایل های این پروژه رو در گیت هاب پیدا نکردم. ممنون میشم بفرمایید از کجا دانلود کنیم

مدیر آموزش
1399/10/26

باسلام و احترام. فایل های پروژه در آخرین فصل اضافه شده اند. لطفا فصل آخر را دریافت نمایید.

علی عطاری
1399/09/12

سلام و خسته نباشید عذر خواهی میکنم آیا معماری Onion Architecture بامعماری Clean Architecture تفاوت داره و اگر داره چه تفاوتی ممنون میشم توضیح بدین

مدیر آموزش
1399/09/12

با سلام و احترام. این دو معماری هیچ تفاوتی ندارند و فقط از زوایای گوناگون به آنها نگاه شده است اما در پیاده سازی هیچ تفاوتی ندارند. برای اطلاعات بیشتر مقاله معماری تمیز سایت را مطالعه بفرمایید.

مهدی
1399/04/14

سلام و ادب واقعا یکی از آموزش های بسیار عالی که داری نکات بسیار ظریف و اصولی که در کمترین آموزشی می توان یافت امید همیشه پر توان ، پر انرژی و آموزش های خوب و عالی دیگر سپاس از استاد گرامی

مدیر آموزش
1399/04/14

سپاس فراوان از لطف شما. خیلی انرژی گرفتیم

شاهین
1399/03/16

این که دوره پروژه محور بود به یادگیری من خیلی کمک کرد. از سایت آتریا و استاد عباس آبادی تشکر میکنم

مدیر آموزش
1399/03/16

تمام دوره ها و پکیج های سایت ما، به صورت کاملا پروژه محور برنامه ریزی شده

زهرا عینی فرد
1399/03/10

همیشه یکی از دغدغه های اصلی من داشتن یک معماری خوب و مناسب برای پروژه هام بود. به لطف شما این مشکل الان به طور کامل برطرف شده. ممنون

مدیر آموزش
1399/03/10

خداروشکر که تونستیم کمکتون کنیم

سعید نصیری
1399/02/31

من معماری پیاز رو با این پکیج به طور کامل یادگرفتم و الان تو پروژه هام ازش استفاده میکنم

مدیر آموزش
1399/02/31

خیلی خوشحالیم که تونستیم کمکتون کنیم