کتاب های برچسب Design Patterns
تاریخ: 1401/02/25 22:48
توسط: MotoMan
امتیاز: ۲
برچسب ها: Design Patterns |Microservice |

به ساده‌ترین بیان، معماری‌های رویداد محور مانند پیاز هستند؛ آنها به عنوان یک لایه (مانند یک monolith) قابل مدیریت هستند، اما وقتی وارد آنها می‌شوید، شروع به جدا شدن از هم می‌کنند و به سرعت متوجه می‌شوید که لایه‌های پیچیده زیادی وجود دارد (معماری میکروسرویس‌های توزیع شده)؛ و این زمانی است که tear شروع می‌شود.
کتاب Practical Event-Driven Microservices Architecture (معماری میکروسرویس‌های رویداد محور کاربردی)، شما را در مراحل انتقال یک پلتفرم با میلیون‌ها کاربر از یک معماری یکپارچه به معماری رویداد محور میکروسرویس‌ها راهنمایی می‌کند. شما در مورد چالش‌ها و پیچیدگی هایی یاد خواهید گرفت که در محیط هایی با توان عملیاتی بالا که اغلب حاوی بیش از صدها میکرو سرویس هستند به وجود می‌آیند. این کتاب به گونه ای طراحی شده است که بهترین منبع شما برای یادگیری نحوه به کارگیری معماری‌های رویداد محور در سناریوهای دنیای واقعی باشد و صدها الگو را برای غلبه بر چالش‌های رایج و نه چندان رایج ارائه می‌دهد.
در حالی که معماری‌های رویداد محور برای سال‌ها استانداردی برای معماری‌های تکاملی، افزونه پذیر و جدا شده بوده‌اند، این معماری‌ها اخیراً توسط سازمان‌ها به منظور میکروسرویس‌های توزیع شده پذیرفته شده‌اند و اطلاعات کمی در مورد پذیرش آنها وجود دارد. استفاده از آنها در مقیاس می‌تواند منابع ارزشمندی را ذخیره کند، اما به ملاحظات متفاوتی نیاز دارد، از جمله پیچیدگی افزوده شده پشتیبانی از چندین قسمت متحرک و درست کردن طرح رویداد از همان ابتدا به منظور جلوگیری از تغییر ساختار بزرگ در آینده.
نویسنده کتاب، هوگو روشا می‌داند که این نوع چالش‌ها و همچنین بسیاری از چالش‌های دیگر، باید از ابتدا مورد توجه قرار گیرند و به شما کمک می‌کند تا طرز فکر مورد نیاز برای ایجاد یک استراتژی حساب شده از قبل را به شما آموزش دهد. این کتاب، رویکردها و الگوهای یادگیری را ارائه می‌دهد تا شما را در جهت ساخت و مدیریت پایدار معماری‌های رویداد محور به سرعت راه بیندازد.

 

تعداد بازدید: ۷۲۸
دیدگاه ها: ۰
تاریخ: 1401/02/15 16:17
توسط: MotoMan
امتیاز: ۰

با کمک کتاب Software Architecture by Example (معماری نرم افزار با مثال)، راهکار‌های سیستمی را با استفاده از الگو‌ها و شیوه‌های معماری مدرن طراحی کنید. این کتاب، روش‌هایی برای پاسخگو نگه داشتن یک سیستم، حتی زمانی که دائماً به‌روزرسانی می‌شود، گسترش عملکرد سیستم بدون تغییر کد اصلی، روش‌های نگهداری تاریخچه داده‌ها و طراحی یک سیستم تراکنشی توزیع‌شده را مورد بحث قرار می‌دهد.

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

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

 
تعداد بازدید: ۱۰۱۲
دیدگاه ها: ۰
تاریخ: 1401/01/17 21:48
توسط: MotoMan
امتیاز: ۱
برچسب ها: Design Patterns |Distributed Systems |

کتاب The Art of Immutable Architecture (هنر معماری تغییرناپذیر)، به شما می‌آموزد که چگونه یک سیستم توزیع شده را از منظر اشیا تغییرناپذیر ارزیابی کنید. در این کتاب، شما مشکلات در طراحی‌های موجود را درک خواهید کرد و چگونگی ایجاد اصلاحات کوچک برای تصحیح آن مشکلات را خواهید فهمید و بکارگیری اصول معماری تغییر ناپذیر را در ابزارهایتان را یاد خواهید گرفت.

اکثر کامپوننت‌های نرم افزاری بر روی وضعیت اشیا تمرکز می‌کنند. آنها وضعیت فعلی یک ردیف در یک پایگاه داده رابطه ای را ذخیره می‌کنند. سپس تغییرات وضعیت در طول زمان را ردیابی می‌کنند و چندین فرض اساسی دارند: آخرین نسخه از هر شی وجود دارد، وضعیت هر شی به طور متوالی تغییر می‌کند و یک سیستم ثبت وجود دارد.

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

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

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

 
تعداد بازدید: ۸۲۵
دیدگاه ها: ۰
تاریخ: 1400/09/12 11:04
توسط: MotoMan
امتیاز: ۱

دوره Domain-Driven Design Fundamentals (مبانی طراحی دامنه محور) نسخه 2021 موسسه Pluralsight، اصول طراحی دامنه محور (DDD) را از طریق نمایش تعاملات مشتری و یک برنامه نمونه پیچیده، همراه با مشاوره از کارشناسان مشهور DDD به شما آموزش می‌دهد. ابتدا، نحوه مدل سازی یک مسئله نرم افزاری را بررسی می‌کنید و در ادامه، عناصر DDD را کاوش خواهید کرد. در نهایت، یاد خواهید گرفت که چگونه از DDD در یک برنامه‌ی نمونه نرم افزاری استفاده کنید.
پس از اتمام این دوره، مهارت‌ها و دانش طراحی دامنه محور مورد نیاز برای گشودن پیچیدگی دامنه خود، ساخت نرم افزار هوشمندتر و به دست آوردن درک عمیق‌تر از DDD را در اختیار خواهید داشت.

 

 
تعداد بازدید: ۲۲۶۱
دیدگاه ها: ۰
تاریخ: 1400/08/04 20:32
توسط: MotoMan
امتیاز: ۱
برچسب ها: Java |Design Patterns |Video |

این دوره بخشی از یک سری سه قسمتی است که الگوهای طراحی را با استفاده از جاوا پوشش می‌دهد. دوره Design Patterns in Java: Structural (الگو‌های طراحی در جاوا: ساختاری) موسسه Pluralsight، الگو‌های طراحی ساختاری مانند Adaptor (آداپتور)، Bridge (پل)، Composite (کامپوزیت)، Decorator (آذینگر)، Facade (نما)، Flyweight (مگس وزن)، Proxy (وکالت) که توسط Gang of Four تعریف شده اند را بررسی می‌کند. در این دوره ما به مثال هایی با API‌های جاوا و نمونه کد هایی برای هر الگو نگاهی می‌اندازیم.

تعداد بازدید: ۵۲۶
دیدگاه ها: ۰
تاریخ: 1400/08/03 21:52
توسط: MotoMan
امتیاز: ۱

توسعه نرم افزار سازمانی از آنچه که باید باشد، بسیار دشوار‌تر و مستعد شکست بوده است. در حال حاضر، مهندس نرم افزار و نویسنده کهنه کار Vaughn Vernon، روش آسان‌تر و ارزشمند‌تری را برای موفقیت با مدل Actor ارائه می‌دهد. کتاب Reactive Messaging Patterns with the Actor Model (الگوهای پیام رسانی واکنشی با مدل اکتر)، نشان می‌دهد که چگونه رویکرد سازمانی واکنشی، مدل Actor، Scala و Akka می‌توانند به شما کمک کنند تا بر محدودیت‌های قبلی عملکردی و مقیاس پذیری غلبه کنید و به طرز ماهرانه ای حتی چالش برانگیزترین نیازهای غیر عملکردی را برطرف کنید.

ورنون با نمایش کار پیشرفته خود، به معماران و توسعه دهندگان نشان می‌دهد که چگونه وعده‌های دیرینه مدل Actor را به واقعیت عملی تبدیل کنند. ابتدا، او اصول نرم افزارهای واکنشی را معرفی می‌کند و نشان می‌دهد که چگونه مدل Actor پیام محور به همه آنها می‌پردازد و این امکان را می‌دهد که سیستم هایی با پاسخگویی بیشتر، تاب آوری و کشش بیشتر ساخته شوند. در مرحله بعد، او یک آموزش عملی راه اندازی Scala، معرفی کامل Akka و Akka Cluster، و یک فصل کامل در مورد به حداکثر رساندن عملکرد و مقیاس پذیری با Scala و Akka ارائه می‌دهد.

با تکیه بر این پایه، یاد خواهید گرفت که از برنامه‌های سازمانی و الگوهای یکپارچه سازی برای ایجاد کانال‌های پیام و endpoint‌ها استفاده کنید؛ پیام‌ها را به‌طور کارآمد بسازید، مسیریابی کنید و تبدیل کنید؛ و سیستم‌های قوی‌تری بسازید که ساده‌تر و بسیار موفق‌تر باشند.

تعداد بازدید: ۸۵۰
دیدگاه ها: ۰
تاریخ: 1400/07/29 19:34
توسط: MotoMan
امتیاز: ۱

معماری‌های سازمانی، دیگر نمی‌توانند بر روی برنامه ریزی‌های ایستا حساب کنند. اکوسیستم توسعه نرم افزار به طور مداوم در حال تغییر است و جریان دائمی از ابزار ها، چارچوب ها، تکنیک‌ها و الگو‌های جدیدی را ارائه می‌دهد. این قضیه، برای افرادی با سیستم‌های شکننده دردسر ایجاد می‌کند، اما همچنین راه حل نهایی را نیز ارائه می‌دهد. در سال‌های اخیر، توسعه‌های تدریجی در شیوه‌های اصلی مهندسی نرم افزار، برای تجدید نظر در مورد چگونگی تغییر معماری در طول زمان، همراه با راه هایی برای محافظت از ویژگی‌های مهم معماری در حین تکامل، پایه هایی را ایجاد کرده است. این کتاب، آن شیوه‌ها را به یکدیگر گره می‌زند و راهی جدید برای فکر کردن درباره تقاطع معماری و زمان پیشنهاد می‌دهد.
در کتاب Building Evolutionary Architectures (ساخت معماری‌های تکاملی)، یاد می‌گیرید که ساخت یک معماری تکاملی از سه دغدغه تشکیل شده است: عملکرد‌های سازگاری، تغییر تدریجی و جفت شدگی مناسب. سه متخصص در ThoughtWorks، هر جنبه را به صورت جداگانه بررسی می‌کنند و سپس آن‌ها را ترکیب می‌کنند تا به شما نشان دهند که چگونه می‌توان معماری هایی ساخت که از تغییر دائمی پشتیبانی کنند.

 

 
تعداد بازدید: ۸۹۴
دیدگاه ها: ۰
تاریخ: 1400/07/26 21:46
توسط: MotoMan
امتیاز: ۱
برچسب ها: Java |Design Patterns |Video |

این دوره، بخشی از یک سری 3 قسمتی است که الگوهای طراحی را با استفاده از جاوا پوشش می‌دهد. دوره Design Patterns in Java: Creational (الگو‌های طراحی در جاوا: ایجادی)، الگو‌های طراحی ایجادی Singleton (یگانه)، Builder (سازنده)، Prototype (نمونه اولیه)، Factory (کارخانه) و AbstractFactory (کارخانه انتزاعی) که توسط Gang of Four تعریف شده اند را بررسی می‌کند. در این دوره ما به مثال هایی در API جاوا و نمونه کد هایی برای هر الگو، نگاهی می‌اندازیم.

تعداد بازدید: ۶۶۲
دیدگاه ها: ۰
تاریخ: 1400/05/20 21:07
توسط: MotoMan
امتیاز: ۲

همان طور که سازمان‌ها از برنامه‌های یکپارچه (monolithic)، به سمت میکرو سرویس‌های کوچکتر و مستقل‌تر حرکت می‌کنند، سیستم‌های توزیع شده نیز ریز ساختار‌تر شده اند. اما توسعه این سیستم‌های جدید، مشکلات زیاد خودشان را نیز به همراه دارند. کتاب Building Microservices, 2nd Edition (ساخت میکرو سرویس ها، ویرایش دوم)، یک دید کلی از موضوعاتی که هنگام ساخت، مدیریت و مقیاس پذیری معماری میکرو سرویس‌ها باید در نظر بگیرید را ارائه می‌دهد.
میکرو سرویس‌ها رویکردی برای سیستم‌های توزیع شده هستند که استفاده از سرویس‌های ریز ساختاری که می‌توان به طور مستقل تغییر داد، مستقر و منتشر کرد را ترویج می‌دهند. برای سازمان هایی که به سمت سیستم‌های سست اتصال‌تر (loosely coupled) و تیم‌های خودمختاری که قابلیت‌های در ارتباط با کاربر را ارائه بدهند حرکت می‌کنند، میکرو سرویس‌ها فوق العاده خوب عمل می‌کنند. فراتر از این، میکرو سرویس‌ها گزینه‌های بسیار زیادی را برای ایجاد سیستم‌ها در اختیار ما قرار می‌دهند و به ما انعطاف پذیری زیادی می‌دهند تا مطمئن شویم که سیستم ما می‌تواند برای رفع نیازهای کاربران تغییر کند. هرچند، میکرو سرویس‌ها هم نیز بدون معایب قابل توجهی نیستند. به عنوان یک سیستم توزیع شده، آن‌ها پیچیدگی‌های زیادی را به ارمغان می‌آورند، که بسیاری از آنها حتی برای توسعه دهندگان باتجربه نیز جدید هستند.
تجربیات افراد در سراسر جهان، همراه با ظهور فناوری‌های جدید، تأثیر عمیقی بر نحوه‌ی استفاده از میکرو سرویس‌ها دارد. این کتاب این ایده‌ها را به همراه نمونه‌های عینی و واقعی در کنار هم قرار می‌دهد تا به شما در فهم اینکه آیا میکرو سرویس‌ها برای شما مناسب هستند یا نه کمک کند.

 

تعداد بازدید: ۳۸۶۴
دیدگاه ها: ۰
تاریخ: 1400/04/18 12:59
توسط: MotoMan
امتیاز: ۲

هیچ چیزی به اندازه‌ی کدهای بد، ناخوانا، شلخته و سریع نوشته شده که با دقت طراحی نشده اند، روی کار یک تیم تأثیر نمی‌گذارد. پویایی تیم می‌تواند بهبود یابد، نیازمندی‌ها دوباره تعریف شوند و زمان بندی می‌تواند اصلاح شود؛ اما، اگر کد بد کنترل کار را در دست بگیرد، سنگینی آن برای تیم بیشتر و بیشتر می‌شود. برنامه نویسان باید همیشه توسعه دهند. حتی اگر آن‌ها فکر می‌کنند که مهارت و دانش کافی برای حرکت در پروژه‌های فعلی را دارند، نباید در آنجا متوقف شوند و شایسته است که آنها هر از گاهی مفاهیم، رویکردها، زبان‌ها و چارچوب‌های جدیدی را بیاموزند. یادگیری باید یک سفر باشد و نه یک مقصد.
برای تبدیل شدن به یک توسعه دهنده‌ی بهتر نرم افزار، به دانش و مهارت‌های عملی عمیقی در زمینه‌ی توسعه و کیفیت نرم افزار نیاز دارید. این کتاب، برای تحلیل و بهبود کد‌های نرم افزار شما، بحث‌های مفصلی و بررسی‌های اجمالی زیادی را ارائه می‌دهد. شما قادر خواهید بود تا از اصول، الگوها، تکنیک‌ها و ابزارهای مورد نیاز برای نوشتن کد تمیز استفاده کنید.
کتاب Clean Code Fundamentals (مبانی کد تمیز)، مبانی کیفیت نرم افزار، اصول، الگوها و بهترین شیوه‌های نوشتن کد بهتر را بیان می‌کند. این کتاب همچنین شامل مثال‌های بسیاری با کد جاوا و با پیچیدگی از کم به زیاد است. همچنین موارد دیگری مانند معیارهای نرم افزار، تست نرم افزار استاتیک و ابزارهایی که می‌توانند به اندازه گیری کیفیت نرم افزار کمک کنند، پوشش داده خواهند شد.

 

تعداد بازدید: ۱۶۸۹
دیدگاه ها: ۰
تاریخ: 1400/04/05 23:25
توسط: MotoMan
امتیاز: ۱

در کتاب Domain-Driven Laravel (لاراول دامنه محور)، مفاهیم و ایده‌ها را در طراحی دامنه محور (DDD) ترسیم می‌کنید و آن‌ها را به کدی تمیز، قابل تست و با کیفیت تبدیل خواهید کرد که در کنار چارچوب لاراول موثر ظاهر شوند. این کتاب، نحوه‌ی پیاده سازی مفاهیم و الگو‌های ارائه شده در DDD را دنیای واقعی و در قالب یک برنامه کامل تحت وب به شما آموزش می‌دهد. با این تاکتیک‌ها و مفاهیم، شما در انواع مختلفی از برنامه‌های نمونه شرکت خواهید کرد که از پایه ساخته شده اند و مستقیما از دامنه‌های دنیای واقعی بر گرفته شده اند.
این کتاب با بررسی سنگ بنای (با مثال‌های کوچک و قابل کنترل برای نشان دادن اثبات مفاهیم و همچنین تصاویری برای مفهوم سازی موضوعات پیچیده تر) DDD و Laravel شروع می‌شود و به طور مشخص تر، موضوعاتی مانند Entity ها، Value Object ها، توسعه یک زبان ubiquitous، DTO‌ها و کشف دانش. در ادامه، شما به مباحث پیشرفته‌تر DDD خواهید پرداخت و از این مفاهیم به عنوان راهنمایی هایی برای انجام شخصی سازی هایی در نصب پیش فرض لاراول استفاده خواهید کرد و به شما درکی از اهمیت حیاتی این تغییرات در پلتفرم لاراول و DDD می‌دهد. در آخر، شما ORM بسیار قدرتمند Eloquent را که با لاراول عرضه می‌شود را یاد می‌گیرید و خواهید فهمید که چگونه می‌توان از آن برای ارائه موجودیت ها، مدیریت مخازن و پشتیبانی از رویدادهای دامنه استفاده کرد.
اگر چه فصلی برای پوشش مباحث پایه و یک آموزش راه اندازی برای لاراول وجود دارد (همراه با مقدمه ای سطح بالا در مورد کامپوننت‌های استفاده شده در آن)، کتاب Domain-Driven Laravel برای خوانندگانی که حداقل در معرض استفاده از چارچوب قرار گرفته باشند و فرصت کار کردن با آن را داشته اند مناسب است. این کتاب برای توسعه دهندگان وب frontend/backend، مهندسان devops، عاشقان چارچوب لاراول و توسعه دهندگان PHP که امیدوارند تا در مورد Domain Driven Design یا امکانات چارچوب Laravel اطلاعات بیشتری کسب کنند مناسب است. کسانی که دانش عملی PHP خام دارند نیز می‌توانند از مطالعه این کتاب سود ببرند.

 

 
تعداد بازدید: ۱۱۰۶
دیدگاه ها: ۰
تاریخ: 1399/12/12 23:21
توسط: MotoMan
امتیاز: ۰

توسعه چابک، توانایی توسعه سریع نرم افزار در مواجهه با نیازمندی‌های به سرعت در حال تغییر است. برای دستیابی به این چابکی، ما باید شیوه هایی را به خدمت بگیریم که نظم و بازخورد لازم را فراهم کنند. ما نیاز به استفاده از اصول طراحی داریم تا نرم افزارمان را انعطاف پذیر و قابل نگهداری نگه دارند؛ و نیاز داریم تا الگو‌های طراحی که به منظور متوازن نگه داشتن این اصول برای مسائل خاص پدید آمده اند را بدانیم. این کتاب، تلاشی برای گره زدن هر سه این مفاهیم به یکدیگر به منظور تشکیل یک اتحاد کارآمد است. این کتاب، اصول، الگوها و شیوه‌ها را توصیف می‌کند و سپس نحوه‌ی بکارگیری آن‌ها را توسط شرح دقیق ده‌ها مورد مطالعاتی مختلف نشان می‌دهد. از همه مهمتر، موارد مطالعاتی به عنوان کار‌های کاملی ارائه نشده اند؛ بلکه الگو هایی در حال پیشرفت هستند. خواهید دید که طراحان اشتباه می‌کنند و مشاهده خواهید کرد که چگونه اشتباهات را شناسایی کرده و در نهایت تصحیح می‌کنند. خواهید دید که آن‌ها بر سر معما‌ها گیج می‌شوند و نسبت به ابهامات و سبک سنگین کردن‌ها نگران هستند. در حقیقت شما عمل طراحی را مشاهده خواهید کرد.
این کتاب که توسط یک توسعه دهنده نرم افزار برای توسعه دهندگان نرم افزار نوشته شده است، مجموعه ای منحصر به فرد از جدیدترین متدهای توسعه نرم افزار است. کتاب Agile Software Development, Principles, Patterns, and Practices ( توسعه نرم افزار چابک، اصول، الگو‌ها و شیوه ها) که توسط Robert C. Martin تالیف شده است، شامل روش‌های OOD، UML، الگو‌های طراحی، چابک و XP، همراه با شرح مفصلی از طراحی کامل نرم افزار  برای برنامه‌های قابل استفاده مجدد در سی پلاس پلاس و جاوا است. با استفاده از یک رویکرد عملی و حل مسئله، چگونگی توسعه یک برنامه شی گرا از مراحل اولیه تجزیه و تحلیل و از طریق طراحی سطح پایین تا پیاده سازی آن، نشان داده می‌شود. این کتاب، افکار طراح را به خوانندگان نشان می‌دهد – نشان دادن خطاها، کوچه‌های بن بست و بینش‌های خلاقانه ای که در طول مراحل طراحی نرم افزار رخ می‌دهند. این کتاب شامل موارد زیر است: استاتیک‌ها و پویا ها؛ اصول طراحی کلاس؛ مدیریت پیچیدگی؛ اصول طراحی پکیج؛ تحلیل و طراحی الگوها؛ گذرگاههای پارادایمی. این کتاب اصول OOD را یک به یک توضیح می‌دهد و سپس آنها را با مثال‌های متعدد، الگو‌های کاملاً کار شده و موارد مطالعاتی به نمایش می‌گذارد. همچنین در استفاده از ++C و OOD تله ها، دام‌ها و راهکار‌ها را پوشش می‌دهد و سپس نشان می‌دهد که چگونه می‌توان از روش‌های Agile استفاده کرد. در ادامه در مورد روش‌های طراحی و توسعه نرم افزار بزرگ به طور مفصل بحث می‌کند. یک مورد مطالعاتی از ساخت سیستم امنیتی نیز به صورت مفصل و در سه فصل در این کتاب ارائه شده است. برای مهندسین نرم افزار، برنامه نویسان و تحلیلگرانی که می‌خواهند نحوه طراحی نرم افزار شی گرا را با روش‌های پیشرفته درک کنند، این کتاب مناسب است.

 

تعداد بازدید: ۱۸۰۲
دیدگاه ها: ۰
تاریخ: 1399/11/05 21:03
توسط: MotoMan
امتیاز: ۰

در دوره ویدیویی Creating Maintainable Contexts for Automated Testing (ایجاد کانتکست‌های قابل نگهداری برای تست کردن خودکار) موسسه Pluralsight که توسط Mel Grubb تدریس شده است، نمایشی از یک context تست دست ساز معمول و عواملی که باعث شکننده و سخت شدن نگه داری آن می‌شوند را مشاهده خواهید کرد. با استفاده از اصول نرم افزاری که همه‌ی ما با آن‌ها آشنا هستیم و برخی الگوها که ممکن است قبلاً ندیده باشیم، می‌توانیم context هایی ایجاد کنیم که روی اطلاعات مهم‌تر برای درک اینکه تست‌ها سعی می‌کنند تا چه چیزی را به تیم شما بگویند متمرکز باقی بمانند.
ما با اصول کلی شروع خواهیم کرد و سپس سراغ الگوی Object Mother خواهیم رفت که یک رویکرد رایج برای استخراج وظایف ایجاد context تست است. سپس، ما الگوی Object Builder را بررسی خواهیم کرد که یک تحول مدرن‌تر و بیانگر‌تر از Object Mother است. در آخر، نحوه‌ی استفاده از اسکریپت‌های #C مبتنی بر Roslyn را برای تولید قسمت‌های خسته کننده الگوی Object Builder خواهید دید تا بتوانید به چیز‌های جالب‌تر بپردازید. هنگامی که این دوره را به پایان رساندید، شما از آنچه که کانتکست مناسب برای آزمون ایجاد می‌کند و مهارت‌های استفاده از این دانش در پروژه‌های فعلی و آینده خود، قدردانی خواهید کرد.

 

تعداد بازدید: ۱۴۰۳
دیدگاه ها: ۰
تاریخ: 1399/11/03 13:06
توسط: MotoMan
امتیاز: ۰

کد قابل تست، کدی است که تست خودکار را سریع، آسان و لذت بخش می‌کند. در دوره ویدیویی Writing Testable Code (نوشتن کد قابل تست) موسسه Pluralsight که توسط Matthew Renze‌ تدریس شده است، شما نحوه‌ی نوشتن کدی که تست کردن آن آسان باشد را یاد بگیرید. این مهارت‌ها برای ریفکتور کردن کد هایی که تست کردن آن‌ها سخت است به کد هایی که به راحتی قابل تست باشند، ضروری هستند. ابتدا شما با کد قابل تست و اینکه چگونه ایجاد خطوط اتصال در کدتان، کد را قابل تست می‌کند آشنا می‌شوید. در ادامه، شما یک سری از بهترین شیوه‌ها را خواهید آموخت که تست کردن کد را آسان‌تر می‌کنند از جمله: ساده سازی ساختن شی، کار با وابستگی‌ها و مدیریت وضعیت برنامه.
در پایان، شما همچنین بهترین شیوه‌ها را با دیدن نمونه کدی از هر شیوه بررسی خواهید کرد تا بتوانید نحوه‌ی پیاده سازی آن‌ها را مستقیما ببینید. این مهارت‌ها کارهایی مانند آزمون واحد را برای شما به طور قابل توجهی آسان می‌کند. با پایان این دوره، شما مهارت‌های لازم برای نوشتن کد قابل تست را در اختیار خواهید داشت.

 

تعداد بازدید: ۱۲۲۹
دیدگاه ها: ۰
تاریخ: 1399/11/03 11:00
توسط: MotoMan
امتیاز: ۱

در قلب نوشتن کد‌های سی شارپ قوی و استوار، دانش کاملی از توسعه آزمون محور (TDD) نهفته است. در دوره ویدیویی Test Driven Development in C# (توسعه آزمون محور در سی شارپ) موسسه Pluralsight که توسط Thomas Claudius Huber تدریس شده است، شما مهارت هایی را فرا خواهید گرفت که بتوانید TDD را در پروژه‌های NET. خود بکار گیرید. ابتدا، شما اصول TDD و چرخه قرمز – سبز – ریفکتور را بررسی خواهید کرد. در ادامه، نحوه تست و پیاده سازی منطق تجاری برای یک برنامه NET Core. را با استفاده از TDD یاد می‌گیرید. شما از xUnit به عنوان چارچوب تست و از Moq به عنوان کتابخانه تقلید (mocking) استفاده خواهید کرد.
در پایان، منطق تجاری برنامه شما در یک برنامه‌ی ASP.NET Core Razor Pages استفاده خواهد شد و شما از TDD برای افزودن قابلیت‌های بیشتر به آن استفاده خواهید کرد. وقتی این دوره را به پایان رساندید، دانش اساسی توسعه آزمون محور (Test Driven Development) را در اختیار خواهید داشت که به شما در پیشبرد تست و پیاده سازی قابلیت‌های جدید در پروژه‌های سی شارپی شما کمک خواهد کرد.

 

 

تعداد بازدید: ۲۳۵۷
دیدگاه ها: ۰
تاریخ: 1399/10/12 22:12
توسط: MotoMan
امتیاز: ۵
برچسب ها: C Sharp |Design Patterns |.NET Core |ASP Core |

الگوهای طراحی مجموعه ای از راه حل‌ها برای بسیاری از مشکلات رایج در توسعه نرم افزار است. آگاهی از این الگوهای طراحی به توسعه دهندگان و متخصصان کمک می‌کند تا در هر مقیاسی راه حل‌های نرم افزاری تهیه کنند. کتاب An Atypical ASP.NET Core 5 Design Patterns Guide (یک راهنمای غیر معمول الگو‌های طراحی ASP.NET Core 5) تالیف Carl-Hugo Marcotte، با کاوش در الگوهای طراحی اساسی، اصول معماری، تزریق وابستگی و سایر مکانیسم‌های ASP.NET Core آغاز می‌شود. همان طور که الگو هایی را پیدا می‌کنید که به سمت بخش‌های کوچک نرم افزار سوق داده شده اند، مقیاس کامپوننت را بررسی خواهید کرد و سپس به سراغ الگوها و تکنیک هایی در مقیاس برنامه می‌روید تا الگو‌های سطح بالاتر و نحوه‌ی ساختار بندی برنامه را به طور کلی درک کنید.

این کتاب طیف وسیعی از الگوهای طراحی مهم (GoF (Gangs of Four مانند استراتژی (Strategy)، یگانه (Singleton)، آذینگر (Decrator)، نما (Facade) و کامپوزیت (Composite) را پوشش می‌دهد. فصل‌ها بر اساس مقیاس و موضوعات تنظیم شده اند و به شما این امکان را می‌دهند تا با کم شروع کنید و بر روی پایه ای قوی بنا کنید؛ مثل همان روشی که تمایل دارید برنامه ای را توسعه دهید. با کمک use case ها، این کتاب به شما نحوه ترکیب الگو‌های طراحی برای نمایش استفاده جایگزین را نمایش می‌دهد و به شما کمک می‌کند تا هنگام کار با الگو‌های طراحی مختلف احساس راحتی کنید. در پایان، شما به سراغ سمت کلاینت می‌روید که نقاط را بهم وصل کنید تا ASP.NET Core را به گزینه ای full-stack و با دوام تبدیل کند.

در پایان کتاب، شما قادر خواهید بود تا الگوهای طراحی را مخلوط و مطابقت دهید و همچنین یاد گرفته اید که چگونه درباره معماری و نحوه کار آن فکر کنید. این کتاب که درباره الگو‌های طراحی است، هم برای مبتدیان و هم برای توسعه دهندگان نرم افزار و وب سطح متوسط با درکی حداقلی از NET. است که می‌خواهند کد‌های انعطاف پذیر، قابل نگهداری و قوی برای ساخت برنامه‌های وب مقیاس پذیر بنویسند. برای استفاده از این کتاب دانش برنامه نویسی سی شارپ و درک مفاهیم وب مانند HTTP ضروری است.

تعداد بازدید: ۵۲۴۸
دیدگاه ها: ۳
loading...

لطفا منتظر بمانید...