این دوره تکنیکهای مهم طراحی شی گرا را به شما آموزش میدهد که به توسعه طرحهای بسیار انعطاف پذیر و قابل نگهداری حتی در پیچیدهترین حوزههای تجاری کمک میکند. کد شما پس از تماشای این دوره دیگر هرگز شبیه به آن نخواهد بود.
آنچه یاد خواهید گرفت:
اجرای رویهای به انعطاف پذیری و قابلیت نگهداری کد آسیب میرساند تا حدی که بیشتر توسعه اغلب تقریباً غیرممکن میشود. در این دوره، تسلط بر برنامه نویسی شی گرا در جاوا 8، مهارتهایی را برای کمک به طراحی کدهای شی گرا در هنگام مدلسازی منطق تجاری پیچیده و پیچیده، توسعه خواهید داد. ابتدا، قدرت استریمها را به عنوان جایگزینی برای حلقههای واضح و انشعابها و اینکه چگونه میتوان آنها را خواناتر و مدیریت آسانتر کرد، یاد خواهید گرفت. در مرحله بعد، قلمرو طراحیهای رابط روان را کشف خواهید کرد که به ساخت کدهای مرتبط با دامنه قابل ترکیب کمک میکند. در نهایت، با الگوی طراحی قوانین، جایگزینهایی برای تصمیم گیریهای سخت کد شده را بررسی خواهید کرد. در پایان این دوره، بینشی در مورد اینکه چگونه قوانین میتوانند ترکیبپذیر و انعطافپذیر شوند و حتی ترسناکترین بخشهای منطق دامنه را رام کنند، خواهید دید.
نمونه ویدیوی آموزشی ( زیرنویسها جدا از ویدیو است و میتوانید آنرا نمایش ندهید ) :
[ENGLISH]
01 Course Overview [1min]
01-01 Course Overview [1mins]
02 Turning Everything into Objects [20mins]
02-01 Why Objects? [7mins]
02-02 Version Check [0mins]
02-03 What Follows in This Course [4mins]
02-04 Setting the Design Goals [7mins]
02-05 Summary [2mins]
03 Staying Focused on Domain Logic with Streams [30mins]
03-01 Seeing the Loop as the Problem [3mins]
03-02 Outlining the Desired Solution [4mins]
03-03 Understanding Aggregation Functions [4mins]
03-04 Improving the Design [4mins]
03-05 Improving Readability [6mins]
03-06 Generalizing Selection of a Single Object [2mins]
03-07 Generalizing the Stream of Objects [5mins]
03-08 Summary [2mins]
04 Untangling Operations from Structure on Business Data [31mins]
04-01 Introducing Composite Objects [6mins]
04-02 Understanding the Limitations of Composite Objects [5mins]
04-03 Designing Functions that Support Composition [4mins]
04-04 Fixing the Composite Design [5mins]
04-05 Making the Composition Algorithm Explicit [5mins]
04-06 Turning an Algorithm into an Object [4mins]
04-07 Summary [2mins]
05 Advancing to a Domain - Specific Language [30mins]
05-01 Introducing Domain-specific Languages [4mins]
05-02 Varying the Strategy Implementation [5mins]
05-03 Understanding the Need for a Domain-specific Language [2mins]
05-04 Designing the Domain-specific Language [6mins]
05-05 Riding on the Wave of the Deep Domain Model [6mins]
05-06 Towards the Grand Unified Design [5mins]
05-07 Summary [2mins]
06 Increasing Flexibility by Removing Enums and Switch Statements [27mins]
06-01 Defining Requirements [3mins]
06-02 Introducing Multiway Branching [5mins]
06-03 Sustaining the Explosion of Multiway Branching [4mins]
06-04 Sustaining the State Explosion [4mins]
06-05 Encapsulating State Representation into an Object [3mins]
06-06 Using Encapsulated Representation as the Key [6mins]
06-07 Summary [2mins]
07 Turning Chained Branching into the Chain of Rule Objects [33mins]
07-01 Turning a Block of Code into an Action [2mins]
07-02 Turning an Action into the Rule Object [5mins]
07-03 Chaining the Rule Objects [5mins]
07-04 Consolidating the State [4mins]
07-05 Modeling System State [3mins]
07-06 Implementing Composable Rules [5mins]
07-07 Implementing the Rules Builder [6mins]
07-08 Summary [3mins]
08 Refactoring to Bind It All Together [30mins]
08-01 Introducing an Example Algorithm [3mins]
08-02 Analyzing the Procedural Implementation [3mins]
08-03 Encapsulating Infrastructural Code Inside Objects [5mins]
08-04 Modeling the Domain [5mins]
08-05 Completing the Implementation [2mins]
08-06 Supporting Change [5mins]
08-07 Consuming the Parameterized Algorithm [3mins]
08-08 Summary [4mins]
[فارسی]
01 نمای کلی دوره [1 دقیقه]
01-01 بررسی اجمالی دوره [1 دقیقه]
02 تبدیل همه چیز به اشیا [20 دقیقه]
02-01 چرا اشیاء؟ [7 دقیقه]
02-02 بررسی نسخه [0 دقیقه]
02-03 آنچه در این دوره دنبال میشود [4 دقیقه]
02-04 تعیین اهداف طراحی [7 دقیقه]
02-05 خلاصه [2 دقیقه]
03 تمرکز روی منطق دامنه با جریانها [30 دقیقه]
03-01 مشاهده حلقه به عنوان مشکل [3 دقیقه]
03-02 تشریح راه حل مورد نظر [4 دقیقه]
03-03 درک توابع تجمع [4 دقیقه]
03-04 بهبود طراحی [4 دقیقه]
03-05 بهبود خوانایی [6 دقیقه]
03-06 تعمیم انتخاب یک شی واحد [2 دقیقه]
03-07 تعمیم جریان اجسام [5 دقیقه]
03-08 خلاصه [2 دقیقه]
04 گرهگشایی عملیات از ساختار در دادههای تجاری [31 دقیقه]
04-01 معرفی اشیاء مرکب [6 دقیقه]
04-02 درک محدودیتهای اجسام مرکب [5 دقیقه]
04-03 طراحی عملکردهایی که از ترکیببندی پشتیبانی میکنند [4 دقیقه]
04-04 اصلاح طرح کامپوزیت [5 دقیقه]
04-05 واضح ساختن الگوریتم ترکیب [5 دقیقه]
04-06 تبدیل الگوریتم به یک شی [4 دقیقه]
04-07 خلاصه [2 دقیقه]
05 پیشرفت به یک دامنه - زبان خاص [30 دقیقه]
05-01 معرفی زبانهای اختصاصی دامنه [4 دقیقه]
05-02 تغییر در اجرای استراتژی [5 دقیقه]
05-03 درک نیاز به یک زبان خاص دامنه [2 دقیقه]
05-04 طراحی زبان مخصوص دامنه [6 دقیقه]
05-05 سوار بر موج مدل دامنه عمیق [6 دقیقه]
05-06 به سوی طرح یکپارچه بزرگ [5 دقیقه]
05-07 خلاصه [2 دقیقه]
06 افزایش انعطاف پذیری با حذف Enums و Switch Statement [27 دقیقه]
06-01 تعریف الزامات [3 دقیقه]
06-02 معرفی انشعاب چند راهه [5 دقیقه]
06-03 تداوم انفجار انشعاب چندراهی [4 دقیقه]
06-04 تداوم انفجار دولت [4 دقیقه]
06-05 کپسوله کردن نمایش حالت در یک شی [3 دقیقه]
06-06 استفاده از نمایش کپسوله شده به عنوان کلید [6 دقیقه]
06-07 خلاصه [2 دقیقه]
07 تبدیل انشعاب زنجیرهای به زنجیرهای از اشیاء قانون [33 دقیقه]
07-01 تبدیل یک بلوک کد به یک عمل [2 دقیقه]
07-02 تبدیل یک عمل به شی قانون [5 دقیقه]
07-03 زنجیر کردن اشیاء قانون [5 دقیقه]
07-04 تحکیم دولت [4 دقیقه]
07-05 وضعیت سیستم مدلسازی [3 دقیقه]
07-06 اجرای قوانین قابل ترکیب [5 دقیقه]
07-07 اجرای قوانین ساز [6 دقیقه]
07-08 خلاصه [3 دقیقه]
08 Refactoring برای پیوند همه چیز با هم [30 دقیقه]
08-01 معرفی یک الگوریتم نمونه [3 دقیقه]
08-02 تجزیه و تحلیل اجرای رویه [3 دقیقه]
08-03 کپسوله کردن کد زیرساختی در داخل اشیاء [5 دقیقه]
08-04 مدلسازی دامنه [5 دقیقه]
08-05 تکمیل پیادهسازی [2 دقیقه]
08-06 پشتیبانی از تغییر [5 دقیقه]
08-07 مصرف الگوریتم پارامتری شده [3 دقیقه]
08-08 خلاصه [4 دقیقه]
زوران هوروات مشاور اصلی در شرکت مشاوره کدینگ کلاه ایمنی، سخنران و نویسنده بیش از 100 مقاله، و مربی مستقل در پشته فناوری دات نت است. او اغلب در کنفرانسها و گروههای کاربری صحبت میکند، سبک توسعه شیگرا و شیوهها و تکنیکهای کدنویسی تمیز را ترویج میکند که طول عمر برنامههای تجاری پیچیده را بهبود میبخشد.