آموزش تکنیک های پیشرفته برنامه نویسی دفاعی

Advanced Defensive Programming Techniques

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

سرفصل ها و درس ها

بررسی اجمالی دوره Course Overview

  • بررسی اجمالی دوره Course Overview

درک محدودیت های کد دفاع سنتی Understanding Limitations of Traditional Defensive Code

  • اولین قانون برنامه نویسی دفاعی The First Law of Defensive Programming

  • چه چیزی در این دوره دنبال می شود؟ What Follows in This Course?

  • تکنیک های دفاعی سنتی Traditional Defensive Techniques

  • طراحی دفاعی: یک آزمایش Defensive Design: An Experiment

  • به نام روش نمی توان دفاع کرد Called Method Cannot Defend

  • تعریف دامنه های عملکرد Defining Function Domains

  • خلاصه Summary

رفع فساد فقط با ایجاد اشیاist سازگار Removing Corruption by Only Creating Consistent Objects

  • ایجاد اشیا Creating Objects

  • ایجاد اشیا سازگار Creating Consistent Objects

  • جوانب مثبت و منفی سازنده های متعدد Pros and Cons of Multiple Constructors

  • درک محدودیت های سازنده Understanding Limitations of the Constructor

  • ارتقا Const سازنده به سازنده Promoting Constructor into Builder

  • تغییرات در اجرای سازنده Variations in the Builder Implementation

  • خلاصه Summary

از بین بردن فساد فقط با ایجاد انتقال های معتبر دولتی Removing Corruption by Only Making Valid State Transitions

  • بهره مندی از مزایای اعتبار سنجی سازنده Reaping the Benefits of Constructor Validation

  • دفاع در تنظیم کنندگان املاک Defending in Property Setters

  • شناخت انواع مشخصه Understanding Distinct Kinds of Properties

  • دفاع در جهش های پیچیده Defending in Complex Mutations

  • دامنه های عملکرد دوباره بازدید شده است Function Domains Revisited

  • وقتی سازنده به چندین شی وابسته است When Constructor Depends on Multiple Objects

  • ایجاد اشیا در مراحل کوچک Creating Objects in Small Steps

  • سازگار با دوام و پارامتر Persistence and Parameterized Constructors

  • خلاصه Summary

کنار گذاشتن کد دفاع با اجتناب از انواع اولیه Dismissing Defensive Code by Avoiding Primitive Types

  • دلایل جلوگیری از برشمردن The Reasons to Avoid Enumerations

  • گزینه های جایگزین برای شمارش Alternatives to Enumerations

  • تبدیل شمارش به یک کلاس Converting Enumeration to a Class

  • دلایل هرگز ردیف کردن داده ها The Reasons to Never Stringify Data

  • بهره مندی از مزایای کپسوله سازی رشته ای Reaping the Benefits of String Encapsulation

  • به طور کلی از انواع ابتدایی پرهیز کنید Avoiding Primitive Types Altogether

  • مثال: مدل سازی پول Example: Modeling Money

  • ماندگاری: مقیاس کوچک CQRS و DDD Persistence: Small-scale CQRS and DDD

  • نشان دادن پایداری Demonstrating Persistence

  • خلاصه Summary

تعریف دامنه های عملکرد به عنوان خط اصلی دفاع Defining Function Domains as the Primary Line of Defense

  • معرفی بندهای گارد Introducing Guard Clauses

  • محافظت در برابر فقط پوچ Guarding Against Null Only

  • از قوانین تجارت محافظت نکنید Don't Guard Business Rules

  • حذف محافظان از طریق طراحی Removing Guards Through Design

  • تبدیل Domain Rules به Rule Object ها Turning Domain Rules into Rule Objects

  • تبدیل اشیاule Rule به عناصر فعال Turning Rule Objects into Active Elements

  • تکمیل فیلتر دانش آموزان Completing the Students Filter

  • ماندگاری: پرس و جو از مدل های نمایش Persistence: Querying View Models

  • خلاصه Summary

طراحی دفاعی به جای نوشتن کد دفاع Building Defensive Design Instead of Writing Defensive Code

  • حالت کپسوله سازی Encapsulating State

  • نگهداری اطلاعات مرتبط با هم Keeping Related Data Together

  • تبدیل موارد زنجیره ای به زنجیره قوانین Turning Chained Ifs into the Chain of Rules

  • دوست شدن با عبارات منظم Making Friends with Regular Expressions

  • جایگزینی شاخه با عبارات منظم Replacing Branching with Regular Expressions

  • انتقال عبارات به پیکربندی Moving Expressions out to Configuration

  • پایداری: ایجاد و به روزرسانی اشیا Dom دامنه Persistence: Creating and Updating Domain Objects

  • خلاصه Summary

اصل کار با اشیا، ، نه با پوچ ها The Principle of Working with Objects, Not with Nulls

  • درک نقش پوچ Understanding the Role of Null

  • چرا کامپایلرها هنوز به Null اعتماد می کنند؟ Why Compilers Still Rely on Null?

  • پوچ را از یک روش برگردانید Do Not Return Null from a Method

  • استفاده از پاسخگویی در محتوای اختیاری Using Callback on Optional Content

  • بارگذاری بیش از حد API های موجود برای بازگشت هرگز به حالت تهی Overloading Existing APIs to Never Return Null

  • بازگرداندن یک شی O اختیاری Returning an Optional Object

  • در حال پیاده سازی نوع گزینه سفارشی Implementing Custom Option Type

  • مصرف گزینه Consuming the Option

  • پایداری: ایجاد اشیاain دامنه پیچیده Persistence: Creating Complex Domain Objects

  • خلاصه Summary

ساخت مدل دامنه غنی به عنوان یک دفاع موثر با طراحی Building Rich Domain Model as an Effective Defense by Design

  • بررسی مجدد اشیاm غیرقابل تغییر Reconsidering Immutable Objects

  • تبدیل کلاسها غیرقابل تغییر Turning Classes Immutable

  • به طور کلی از Allasing Bugs اجتناب کنید Avoiding Aliasing Bugs Altogether

  • نکته منفی تغییر ناپذیری The Downside of Immutability

  • قابلیت تغییر پذیری محدود با ویژگی های تنظیم یک بار Constrained Mutability with Set-once Properties

  • مصرف اشیا نیمه قابل تغییر Consuming Semi-mutable Objects

  • با استفاده از مدل تاریخی Using Historical Model

  • اجرای الگوی تاریخی ساده Implementing Simple Historical Model

  • خلاصه Summary

طراحی گردش کار جایگزین به جای دفاع از خطاها Designing Alternative Workflows Instead of Defending from Errors

  • کدهای وضعیت چه مشکلی دارند؟ What’s Wrong with Status Codes?

  • درک اثرات پرتاب استثناها Understanding Effects of Throwing Exceptions

  • چه مواردی است که به معنای انجام نیست What Exceptions Are Not Meant to Do

  • هیچ چیز استثنایی را در موارد استثنایی رها نکنید Leave Nothing Exceptional in Exceptions

  • برگرداندن یک نوع چند شکل به جای یک استثنا Returning a Polymorphic Type Instead of an Exception

  • تفکیک مقادیر مثبت و منفی Separating Positive and Negative Return Values

  • اختراع نوع یا نوع Inventing the Either Type

  • مصرف هر نوع Consuming the Either Type

  • خلاصه Summary

نمایش نظرات

نظری ارسال نشده است.

آموزش تکنیک های پیشرفته برنامه نویسی دفاعی
خرید اشتراک و دانلود خرید تکی و دانلود | 160,000 تومان (5 روز مهلت دانلود) زمان تقریبی آماده سازی لینک دانلود این دوره آموزشی حدود 5 تا 24 ساعت می باشد.
جزییات دوره
6h 22m
79
Pluralsight (پلورال سایت) pluralsight-small
03 شهریور 1396 (آخرین آپدیت رو دریافت می‌کنید، حتی اگر این تاریخ بروز نباشد.)
183
4.9 از 5
دارد
دارد
دارد
Zoran Horvat

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Zoran Horvat Zoran Horvat

مدیرعامل و مشاور اصلی در Coding Helmet s.p.r.l.

Pluralsight (پلورال سایت)

Pluralsight یکی از پرطرفدارترین پلتفرم‌های آموزش آنلاین است که به میلیون‌ها کاربر در سراسر جهان کمک می‌کند تا مهارت‌های خود را توسعه دهند و به روز رسانی کنند. این پلتفرم دوره‌های آموزشی در زمینه‌های فناوری اطلاعات، توسعه نرم‌افزار، طراحی وب، مدیریت پروژه، و موضوعات مختلف دیگر را ارائه می‌دهد.

یکی از ویژگی‌های برجسته Pluralsight، محتوای بروز و با کیفیت آموزشی آن است. این پلتفرم با همکاری با توسعه‌دهندگان و کارشناسان معتبر، دوره‌هایی را ارائه می‌دهد که با توجه به تغییرات روزافزون در صنعت فناوری، کاربران را در جریان آخرین مفاهیم و تکنولوژی‌ها نگه می‌دارد. این امر به کاربران این اطمینان را می‌دهد که دوره‌هایی که در Pluralsight می‌پذیرند، با جدیدترین دانش‌ها و تجارب به روز شده‌اند.