آموزش جاوا مدرن: مسترکلاس جامع برنامه‌نویسی داده‌محور - آخرین آپدیت

دانلود Modern Java: Data Oriented Programming Masterclass

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

جاوا مدرن را مسلط شوید: رکوردها، تطبیق الگو و انواع مهر و موم شده برای مدل‌های دامنه تمیز و مدیریت خطای هوشمندانه‌تر

  • اصول کلیدی برنامه‌نویسی داده‌محور (DOP) و تفاوت آن با برنامه‌نویسی شیءگرا (OOP) سنتی را درک کنید.
  • از رکوردهای جاوا (Java Records) برای مدل‌سازی ساختارهای داده‌ای تغییرناپذیر به شکلی تمیز و مختصر استفاده کنید.
  • سلسله‌مراتب واضح و کنترل‌شده را با استفاده از کلاس‌ها و اینترفیس‌های مهر و موم شده (Sealed Classes and Interfaces) طراحی کنید.
  • خطاهای خاص دامنه را با استفاده از انواع داده جبری (ADTs) و سلسله‌مراتب مهر و موم شده مدیریت کنید.
  • مدل‌های مبتنی بر وراثت پرکاربرد را با طراحی بیانی و داده‌محور جایگزین کنید.
  • از الگوهای محافظت‌شده (guarded patterns) و تو در تو (nested patterns) برای مدیریت آسان قوانین پیچیده کسب‌وکار استفاده کنید.
  • کدبیس‌های شیءگرای قدیمی (legacy OOP codebases) را به معماری‌های مدرن و قابل نگهداری به سبک DOP بازنویسی کنید.
  • درک کنید که چگونه ویژگی‌های جاوا مدرن منجر به خوانایی بهتر کد می‌شود.
  • برنامه‌های کاربردی واقعی را با استفاده از مدل‌های داده خالص، منطق تابعی و نحو مدرن جاوا بسازید.
  • قوانین کسب‌وکار، پاسخ‌ها و موارد خطا را با استفاده از جایگزین‌های نوع‌امن برای استثناها مدل‌سازی کنید.
  • نحوه استفاده از رکوردها و انواع مهر و موم شده در سریالی‌سازی (serialization) برای APIهای تمیز را بیاموزید.
  • تجربه عملی را از طریق یک پروژه دست‌اول کسب کنید.

پیش‌نیازها:

  • دانش قبلی از جاوا (تا نسخه 17).
  • این یک دوره عملی است. باید مایل به کدنویسی باشید!
  • با لهجه هندی راحت باشید.
  • صبر برای یادگیری!

پیش‌نیاز: دانش قبلی از جاوا (تا نسخه 17)
--

بیایید به عمق برنامه‌نویسی داده‌محور (DOP) در جاوا شیرجه بزنیم. یک پارادایم برنامه‌نویسی مدرن، عملی و آینده‌نگر که در حال تغییر نحوه طراحی و توسعه برنامه‌های جاوا است.

در این مسترکلاس، شما با تغییر طرز فکر خود از اشیاء و وراثت به جداسازی داده‌ها و رفتار، یاد خواهید گرفت که چگونه کد جاوا واضح‌تر، ایمن‌تر و قابل نگهداری‌تر بنویسید. از طریق درس‌های عملی و موارد استفاده واقعی، کشف خواهید کرد که چگونه از آخرین ویژگی‌های زبان جاوا، یعنی رکوردها (Records)، انواع مهر و موم شده (Sealed Types) و تطبیق الگو (Pattern Matching)، برای ساخت برنامه‌های داده‌محور استفاده کنید که درک و تکامل آنها آسان است.

آنچه خواهید آموخت

  • دوره‌های فشرده بر ویژگی‌های کلیدی جاوا مدرن

    • رکوردها (Records): بیاموزید چگونه رکوردهای جاوا مدل‌سازی داده را ساده می‌کنند، تغییرناپذیری را اعمال می‌کنند، کدهای تکراری (boilerplate) را کاهش می‌دهند و چه زمانی رکوردها را به جای کلاس‌ها انتخاب کنید.

    • انواع مهر و موم شده (Sealed Types): در کلاس‌ها و اینترفیس‌های مهر و موم شده برای ساخت سلسله‌مراتب بیانی و محدود و حذف سوءاستفاده از وراثت مسلط شوید.

    • تطبیق الگو (Pattern Matching): شرطی‌ها را با استفاده از تطبیق الگو با عبارات سوئیچ، از جمله الگوهای تو در تو و محافظت‌شده، ساده کنید.

  • مبانی برنامه‌نویسی داده‌محور

    • اصول DOP و تفاوت آن با OOP سنتی را درک کنید.

    • با استفاده از رکوردها و انواع مهر و موم شده در جاوا، به عمق انواع داده جبری (ADTs) شیرجه بزنید تا منطق دامنه را به طور دقیق و ایمن مدل‌سازی کنید.

  • موارد استفاده عملی و یکپارچه‌سازی در دنیای واقعی

    • DOP را در سناریوهای دنیای واقعی، از مدل‌سازی API گرفته تا قوانین پیچیده کسب‌وکار، پیاده‌سازی کنید.

    • سلسله‌مراتب مهر و موم شده را با استفاده از Jackson سریالی‌سازی (serialize) و دی‌سریالی‌سازی (deserialize) کنید، از جمله نحوه کار با انواع چندریختی (polymorphic types) در JSON.

    • مدل‌سازی داده، منطق اعتبارسنجی و اینکه چگونه DOP می‌تواند ماشین‌های حالت و گردش کارهای پیچیده کسب‌وکار را ساده کند، بررسی کنید.

  • مدیریت خطای بهتر

    • از سلسله‌مراتب مهر و موم شده برای نمایش تمام موارد خطای ممکن استفاده کنید.

    • تطبیق الگو را برای مدیریت خطاها به روشی مختصر و جامع به کار ببرید. بدون از دست دادن موارد خاص.

  • پروژه نهایی عملی

چرا این دوره را بگذرانید؟

این دوره برای توسعه‌دهندگان جاوا طراحی شده است که می‌خواهند:

  • با ویژگی‌های جاوا مدرن به‌روز باشند.

  • کد اعلامی (declarative)، قابل ترکیب (composable) و خواناتر بنویسند.

  • کدهای تکراری قدیمی را با مدل‌های داده‌ای بیانی جایگزین کنند.

  • ارزش واقعی رکوردها، انواع مهر و موم شده و تطبیق الگو را فراتر از نحو (syntax) درک کنند.

  • تفکر داده‌محور، ADTها و ایده‌های تابعی را بدون نیاز به ترک جاوا بیاموزند.

چه در حال ساخت APIها، سیستم‌های کسب‌وکار یا سرویس‌های بک‌اند مدرن باشید، این دوره نحوه مدل‌سازی، پردازش و استدلال در مورد داده‌ها را در جاوا متحول خواهد کرد.


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

Introduction

  • قبل از ثبت نام Before You Enroll

رکوردها Records

  • *** درخواست فروتنانه و منبع *** Humble Request & Resource ***

  • راه اندازی پروژه Project Setup

  • نحوه کار رکوردها How Records Work

  • کدنویسی با من و ساختار پکیج Code With Me & Package Structure

  • برابری رکورد Record Equality

  • سازنده کانونی Canonical Constructor

  • CompactConstructor CompactConstructor

  • Compact Constructor - اعتبارسنجی Compact Constructor - Validation

  • سازنده غیر کانونی Non-Canonical Constructor

  • آیا رکوردها تغییرناپذیرند؟ Are Records Immutable?

  • بازنویسی متد Accessor Accessor Method Override

  • فیلدهای Nullable Nullable Fields

  • بدون فیلدهای Instance اضافی No Extra Instance Fields

  • اعضای Static Static Members

  • رکوردهایی که Interface پیاده سازی می‌کنند Records Implementing Interface

  • Reflection Reflection

  • سازماندهی رکوردها Organizing Records

  • خلاصه Summary

  • آزمون Quiz

Sealed Types Sealed Types

  • نیاز به Sealed Types Need For Sealed Types

  • دموی Sealed Type - بخش ۱ Sealed Type Demo - Part 1

  • دموی Sealed Type - بخش ۲ Sealed Type Demo - Part 2

  • اینترفیس Sealed با رکوردها Sealed Interface With Records

  • [توضیح] - رکوردها با Side Effects!! [Clarification] - Records With Side Effects!!

  • خلاصه Summary

  • آزمون Quiz

Pattern Matching Pattern Matching

  • آیا instanceof بد است؟ Is instanceof Bad?

  • Pattern Matching - instanceof Pattern Matching - instanceof

  • عبارت Switch Switch Expression

  • الگوی Type Type Pattern

  • غلبه برچسب الگو Pattern Label Dominance

  • الگوی Guarded Guarded Pattern

  • متغیر بی‌نام Unnamed Variable

  • الگوی رکورد Record Pattern

  • الگوی رکورد تو در تو Nested Record Pattern

  • جامعیت Switch Switch Exhaustiveness

  • خلاصه Summary

  • آزمون Quiz

اصول برنامه نویسی داده محور Principles Of Data Oriented Programming

  • مقدمه‌ای بر برنامه نویسی داده محور Introduction To Data Oriented Programming

  • انواع داده جبری Algebraic Data Types

  • رکورد Sealed - Pattern Matching - دموی ۱ Sealed Record - Pattern Matching - Demo 1

  • رکورد Sealed - Pattern Matching - دموی ۲ Sealed Record - Pattern Matching - Demo 2

  • Enum در مقابل Sealed Enum vs Sealed

  • اصول برنامه نویسی داده محور Data Oriented Programming Principles

  • اهمیت انواع داده Importance Of Types

  • [توضیح] - آیا رکوردها می‌توانند متد داشته باشند؟ [Clarification] - Can Records Have Methods?

  • خلاصه Summary

  • آزمون Quiz

مدل سازی دامنه Domain Modeling

  • مدل سازی دامنه Domain Modeling

  • مدل سازی تغییر وضعیت Modeling State Change

  • گردش کار درخواست وام - الزامات Loan Application Workflow - Requirements

  • مدل‌های وام Loan Models

  • مدل سازی وضعیت و پردازشگر وام Modeling Loan Status & Processor

  • انتقال وضعیت وام - پیاده سازی - بخش ۱ Loan State Transition - Implementation - Part 1

  • انتقال وضعیت وام - پیاده سازی - بخش ۲ Loan State Transition - Implementation - Part 2

  • گردش کار وام - دمو Loan Workflow - Demo

  • [توضیح] - چرا وضعیت وام شامل وام است؟ [Clarification] - Why Does Loan Status Contain Loan?

  • خلاصه Summary

مدل سازی عدم قطعیت با انواع Modeling Uncertainty With Types

  • نوع Option Option Type

  • نوع Either Either Type

  • [توضیح] - در مورد بیش از ۲ گزینه چطور؟ [Clarification] - What About More Than 2 Options?

مدیریت خطا Error Handling

  • مشکلات با Checked Exceptions Problems With Checked Exceptions

  • مدیریت خطا با Sealed Types Error Handling With Sealed Types

  • نوع نتیجه Generic - بخش ۱ Generic Result Type - Part 1

  • نوع نتیجه Generic - بخش ۲ Generic Result Type - Part 2

  • [توضیح] - آیا Throwing Exception بد است؟ [Clarification] - Is Throwing Exception Bad?

سریال زدایی چندشکلی Polymorphic Deserialization

  • سریال زدایی چندشکلی - مقدمه Polymorphic Deserialization - Introduction

  • استنتاج خودکار Auto Deduction

  • استنتاج مبتنی بر ویژگی Property Based Deduction

  • میکسین Mixin

  • خلاصه Summary

[توسعه برنامه] - پردازش گردش کار سفارش - فاز ۱ [Application Development] - Order Workflow Processing - Phase 1

  • *** منبع *** Resource ***

  • سیستم پردازش سفارش Order Processing System

  • خدمات خارجی External Services

  • بحث درباره گردش کار سفارش Order Workflow Discussion

  • بحث درباره پیاده سازی Implementation Discussion

  • راه اندازی پروژه Project Setup

  • کدنویسی با من Code With Me

  • ایجاد مدل‌ها - بخش ۱ Creating Models - Part 1

  • ایجاد مدل‌ها - بخش ۲ Creating Models - Part 2

  • ایجاد مدل‌ها - بخش ۳ Creating Models - Part 3

  • مدل سازی خطاها Modeling Errors

  • استثنائات برنامه Application Exceptions

  • [توضیح] - چرا برای یک پیاده سازی، Interface داریم؟ [Clarification] - Why Do We Have Interface For Single Implementation?

  • کلاینت محصول - پیاده سازی Product Client - Implementation

  • کلاینت مشتری و کلاینت پرداخت Customer Client & Payment Client

  • کلاینت صورتحساب و کلاینت حمل و نقل Billing Client & Shipping Client

  • سرویس اعتبارسنجی درخواست Request Validator Service

  • محاسبه گر قیمت Price Calculator

  • سرویس پرداخت و صورتحساب Payment & Billing Service

  • سرویس حمل و نقل Shipping Service

  • وضعیت‌های سفارش Order States

  • هماهنگ کننده سفارش - انتقال وضعیت - بخش ۱ Order Orchestrator - State Transition - Part 1

  • هماهنگ کننده سفارش - انتقال وضعیت - بخش ۲ Order Orchestrator - State Transition - Part 2

  • [توضیح] - آیا به وضعیت انجام شده نیاز داریم؟ [Clarification] - Do We Need Fulfilled State?

  • سرویس سفارش و Mapper Order Service & Mapper

  • کنترلر REST سفارش Order REST Controller

  • @ControllerAdvice - جزئیات مشکل @ControllerAdvice - Problem Detail

  • مدیریت استثنائات برنامه Application Exception Handling

  • رهگیر Log Logging Interceptor

  • تنظیمات برنامه Application Configuration

  • میکسین Jackson Jackson Mixin

  • آماده سازی دموی نهایی Final Demo Preparation

  • دموی نهایی Final Demo

  • [توضیح] - هماهنگ کننده گردش کار لغو سفارش [Clarification] - Order Cancellation Workflow Orchestrator

[توسعه برنامه] - پردازش گردش کار سفارش - فاز ۲ [Application Development] - Order Workflow Processing - Phase 2

  • *** منبع *** Resource ***

  • فاز ۲ - افزودن پشتیبانی برای کوپن Phase 2 - Adding Support For Coupon

  • [توضیح] - چرا سرویس کوپن را از Request Validator فراخوانی می‌کنیم؟ [Clarification] - Why Do We Call Coupon Service From Request Validator?

  • سرویس خارجی External Service

  • مدل سازی کوپن Modeling Coupon

  • کوپن None در مقابل کوپن اختیاری Coupon None vs Optional Coupon

  • به روز رسانی سایر مدل‌ها Updating Other Models

  • کلاینت کوپن Coupon Client

  • تغییرات Request Validator برای کوپن Request Validator Changes For Coupon

  • اعمال کوپن Applying Coupon

  • تغییرات تنظیمات برنامه Application Configuration Changes

  • فاز ۲ - دموی نهایی Phase 2 - Final Demo

[توسعه برنامه] - پردازش گردش کار سفارش - فاز ۳ [Application Development] - Order Workflow Processing - Phase 3

  • *** منبع *** Resource ***

  • فاز ۳ - بحث درباره الزامات Phase 3 - Requirements Discussion

  • خدمات خارجی External Services

  • مدل سازی وضعیت حمل و نقل Modeling Shipping Status

  • حمل و نقل رد شده - خطای دامنه Declined Shipping - Domain Error

  • مدیریت بازپرداخت، صورتحساب، حمل و نقل رد شده - بخش ۱ Handling Refund, Invoice, Declined Shipping - Part 1

  • مدیریت بازپرداخت، صورتحساب، حمل و نقل رد شده - بخش ۲ Handling Refund, Invoice, Declined Shipping - Part 2

  • به روز رسانی Orchestrator برای حمل و نقل رد شده Updating Orchestrator For Declined Shipping

  • مدیریت استثنائات برنامه Application Exception Handling

  • فاز ۳ - دموی نهایی Phase 3 - Final Demo

Persistence Persistence

  • Sealed Types با Persistence Sealed Types With Persistence

  • یک جدول برای همه زیرکلاس‌ها 1 Table For All Subclasses

  • یک جدول به ازای هر زیرکلاس 1 Table Per Subclass

  • در مورد Document DB چطور؟ What About Document DB?

بعد چه؟ Whats Next?

  • بعد چه؟ Whats Next?

نمایش نظرات

آموزش جاوا مدرن: مسترکلاس جامع برنامه‌نویسی داده‌محور
جزییات دوره
10 hours
129
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
432
4.8 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Vinoth Selvaraj Vinoth Selvaraj

مهندس اصلی