در خدمت شما هستیم با دانلود رایگان کتاب آموزش CQRS به زبان ساده از وب سایت آموزش برنامه نویسی سورس باران. کتاب CQRS به زبان ساده نوشتهی زهرا بیات قلی لاله و علی بیات قلی لاله، آموزش CQRS را به صورت مختصر، با مثالهای عملی و بدون مقدمههای طولانی به شما یاد میدهد و شما را با اصول CQRS و مزایایی که برای اپلیکیشن به ارمغان میآورد آشنا میکند.
CQRS پترنی است که در پروژههای سازمانی استفاده میشود و مشکل بزرگی را از پروژههای نرم افزاری حل میکند. متاسفانه استفاده از این پترن در شرکتهای نرم افزاری بسیار محدود است چون افرادی که توانایی کار با این الگوی را در پروژههای واقعی داشته باشند بسیار کم هستند.
کتاب آموزش CQRS به زبان ساده
در اینترنت اطلاعات زیادی در مورد CQRS وجود دارد اما اکثراً به معرفی الگوی CQRS و چند مثال انتزاعی بسنده میکنند. در این کتاب شما یاد میگیرید که چرا باید از CQRS استفاده کنید و چگونه آن را در پروژههای نرم افزاری پیادهسازی نمایید. بعد از مطالعه این کتاب یاد میگیرید که CQRS دقیقا چیست؟ چه اصولی در پشت آن وجود دارد؟ و چطور میتوانید در پروژههای واقعی از مزیتهای آن بهرهمند شوید.
فصل اول : نگاهی به دیزاین پترن CQRS و CQS
- CQS چیست؟
- CQRS چیست؟
- چرا CQRS انتخاب مناسبی است؟
- مشکل اپلیکیشن های سنتی چیست؟
- Task Based Interface چیست؟
- انواع پیام در CQRS
فصل دوم : استارت اپلیکیشن Ordering و ایجاد لایه Domain
- ساختار لایه های اپلیکیشن
- ایجاد لایه Domain
- ایجاد SeedWrok اپلیکیشن
- افزودن Domain Model
فصل سوم : ایجاد لایه Infrastructure
- افزودن لایه Infrastructure
- Table mapping چیست؟
- پیاده سازی Repository
فصل چهارم : لایه Application و پیاده سازی Commmand
- افزودن لایه Application
- نصب و راه اندازی MediatR
- پیاده سازی Command
- پیاده سازی CommandHandler
- ConnectionString چیست؟
- ایجاد دیتابیس
- ایجاد Migration
- Controller
- پیاده سازی Fluent Validation
- Seed چیست؟
- تست اپلیکیشن در مرحله Command
فصل پنجم : لایه Application و پیاده سازی Query
- معرفی Query
- پیاده سازی GetOrderByIdQueryHandler
- استفاده از Dapper
فصل ششم : Domain event و Behavior در MediatR و گذری بر جداسازی دیتابیس ها
- Domain Event چیست؟
- پیاده سازی Domain Event
- Behavior چیست؟
- تست Behavior
- جداسازی دیتابیس
- استراتژی های همگام سازی دیتابیس
- Consistency بین دیتابیس ها
- Quiz
- Answers
شاید برایتان مقید باشد :
- کتاب ۶۰۰ مثال برنامه نویسی جاوا
- معرفی کامل زبان برنامه نویسی Perl و نمونه کد Perl
- کتاب حل 650 برنامه و تمرین برنامه نویسی سی شارپ
- کتاب حل 650 مثال و تمرین برنامه نویسی پایتون
- کتاب آموزش برنامه نویسی گولنگ (Golang)
- کتاب آموزش جاوا اسکریپت به انضمام سورس و پروژه قابل اجرا
- کتاب آموزش مهارت عمومی برنامه نویسی پایه یازدهم
- کتاب آموزش برنامه نویسی Go
- کتاب آموزش برنامه نویسی اندروید با سی شارپ
- کتاب آموزش برنامه نویسی سوئیفت
- کتاب آموزش برنامه نویسی ASP.Net Core
- کتاب آموزش طراحی وب سایت با PHP
- کتاب آموزش میکروکنترلرهای AVR به زبان بیسیک + آموزش شبیه ساز پروتیوس
- کتاب آموزش برنامه نویسی پایتون برای کلاه خاکستری ها
- کتاب مقدمه ای بر آموزش برنامه نویسی هوش مصنوعی
- کتاب آموزش آنالیز شبکههای اجتماعی با روشهای داده کاوی
- کتاب آموزش فرمول نویسی نرم افزار Autodesk Revit
- کتاب آموزش برنامه نویسی پاسکال شی گرا
- کتاب آموزش کدنویسی تمیز
- کتاب آموزش مبانی ترمودینامیک در پایتون – جلد اول
- آموزش ساخت یک اپلیکیشن کوچک کاربردی با برنامه نویسی با React
- کتاب 600 مثال برنامه نویسی سی پلاس پلاس و حل آن ها
- کتاب آموزش برنامه نویسی Prolog
- زبان برنامه نویسی Scala چیست؟ معرفی،ویژگی ها و کاربرد Scala
- آرشیو کامل کتاب های آموزش برنامه نویسی سورس باران
CQRS چیست؟
در سالهای گذشته با پیشرفت های تکنولوژی کم کم تیمهای فنی به استفاده از الگوهای برنامه نویسی روز روی آورده اند و سعی میکنند از الگوهایی استفاده کنند که کارایی بهتری برای نرم افزارشان داشته باشد.
یکی از این الگوها (CQRS(Command Query Responsibility Segregation میباشد.این الگو به دلیل کارایی بهتر نرم افزار یکی از الگوهای مورد علاقه ی من میباشد.در این مطلب سعی بر این است این که این الگو را توضیح بدهم.به خاطر داشته باشید که این الگو قرار نیست برای تمامی پروژه های مفید باشد و میتوان گفت تعداد کمی از پروژه ها هستند که امکانات این الگو نسبت به پیچیدگی آن ارزشمندتر است.
یک مثال از CQRS
فرض کنید یک در حال طراحی یک سیستم فروشگاهی هستید.ساختار دیتابیس یک فروشگاه پر از ارتباط است؛ هر محصول میتواند گروه داشته باشد،میتواند تعداد زیادی خاصیت و صفت داشته باشد،میتواند در سبد خرید تعداد زیادی کاربر باشد و خیلی چیزهای دیگر.
در این نوع سیستم ما به دلیل ساختار رابطه ای سیستم بهترین روش برای ذخیره سازی داده استفاده از دیتابیس های رابطه ای مانند Sql Server ، MySql میباشد.
همچنین در هنگام واکشی اطلاعات به دلیل خاصیت های زیادی که هر محصول میتواند داشته باشد و بزرگ بودن آبجکت مورد نیاز بهترین راه حل استفاده از دیتابیسهای NoSqlمثل MongoDbمیباشد.
راه حل
در چنین پروژه ای شما میباسیت از الگوی CQRS استفاده کنید. در این سیستم فروشگاهی لایه ی Repository را به دو بخش کلی تقسیم میکنیم که یه بخش شامل Command ها و بخش دیگر شامل Query ها میباشد که تمامی متد ها را بر اساس نوع آنها جدا میکند.
زمانیکه اطلاعات در دیتابیس رابطه ای درج،ویرایش یا حذف میشود یه سرویس که اصطلاحا به آن Service Bus میگویند داده های درج شده در دیتابیس رابطه ای را پردازش میکند و آبجکت پیچیده ای که زمان واکشی داده نیاز داریم را به صورت آماده در دیتابیس NoSql ذخیر میکند.
در این حالت شما در زمان واکشی داده برای دریافت داده نیاز به دستورات سخت و پیچیده ندارید،همچنین سرعت واکشی داده به دلیل از پیش پردازش شدن به شدت کاهش میابد. باز هم توجه داشته باشید که پیچیدگی های CQRS به حدی بالاست که اصلا عاقلانه نیست که برای هر پروژه ای از آن استفاده کنید و نیاز است در استفاده از آن به نیاز سیستم خود اشراف کامل داشته باشید
راستی! برای دریافت مطالب جدید در کانال تلگرام یا پیج اینستاگرام سورس باران عضو شوید.
- جم فايل : 3 مگابایت
- منبع : سورس باران
- رمز فايل : www.sourcebaran.com
- انتشار: ۱۰ آبان ۱۴۰۱
دسته بندی موضوعات
- آموزش برنامه نویسی
- آموزش کریپتو کارنسی (ارز دیجیتال)
- آموزش متنی برنامه نویسی
- پروژه برنامه نویسی
- فروشگاه
- فیلم های آموزشی
- #F
- ++C
- 3ds max
- Ada
- ADO.NET
- Adobe Flash
- Agile
- Ajax
- AngularJS
- Anime Studio
- apache
- ARM
- Asp.Net
- ASP.NET MVC
- assembly
- AVR
- Azure
- Bootstrap
- Cassandra
- CCNA
- CCNP
- CCSP
- ChatGPT
- Cisco
- CMD
- COBOL
- CSS
- Cython
- Django
- Dreameaver
- Elixir
- EntityFramework
- Erlang
- Flash
- Go
- Groovy
- Haskell
- Htaccess
- HTML
- IOS
- Jade
- jquery
- Kendo UI
- Linq
- Linux
- LUA
- MariaDB
- maya
- Meteor
- MongoDB
- Mono Android
- MonoGame
- Mysql
- NoSQL
- Oracle
- Orchard
- Perl
- php
- PHPMyAdmin
- R
- Rational Rose
- Ruby
- Rust
- Scala
- Scrum Master
- SFML
- SharePoint
- SignalR
- silver light
- SQL Server
- Stimulsoft Reports
- Telerik
- UML
- VB.NET&VB6
- Vue 3
- WPF
- Xml
- آردوینو
- آموزش های پروژه محور
- آیونیک
- اتوکد
- الگوریتم تقریبی
- الگوریتم نویسی و فلوچارت
- امنیت
- اندروید
- اندروید استودیو
- انیمیشن سازی
- بازی سازی با Scratch
- بک ترک
- بیسیک فور اندروید
- پایتون
- پرولوگ
- پریمیر
- جاوا
- جاوا اسکریپت
- جنگو
- جوملا
- دارت
- دلفی
- دوره های رایگان پیشنهادی
- زامارین
- سئو
- ساخت CMS
- ساخت اتوران
- ساختمان داده ها
- سی شارپ
- شبکه و مجازی سازی
- طراحی الگوریتم
- طراحی بازی
- طراحی وب
- فتوشاپ
- فریم ورک codeigniter
- فلاتر
- کاتلین
- کامپایلرها
- کانستراکت
- کریستال ریپورت
- کلوژر
- گوگل آنالیتیکس
- گیت
- لاراول
- مای بی بی
- مایکروسافت پروجکت
- متریال دیزاین
- متلب
- معماری کامپیوتر
- مهندسی اینترنت
- میکروتیک
- نود جی اس
- نیوک
- هوش مصنوعی
- ویبولوتین
- ویژوال استودیو
- یونیتی
- کتاب های آموزشی
- Ada
- Ajax
- Android
- ASP.NET
- ASP.NET Core
- AVR
- clips
- CNC
- COBOL
- CQRS
- Cython
- Dreamweaver
- Elixir
- Entity Framework 4.0
- Erlang
- Go
- Groovy
- Haskell
- LINQ
- Lua
- Matlab
- MFC
- Node.js
- PERL
- php
- PLC
- Prolog
- React
- Rust
- Scala
- SFML
- SharePoint
- silver light
- VHDL
- VMware
- WinJS
- Workflow
- WPF
- XHTML
- Yii Framework
- اتوکد
- اچ تی ام ال
- اسمبلی
- اکتیو ایکس
- الگوریتم و فلوچارت
- انگولار
- اوبونتو
- اوراکل
- بازی سازی
- بانک اطلاعاتی
- برنامه نویسی سوکت
- برنامه نویسی موبایل
- بک ترک
- پاسکال
- پایان نامه
- پایتون
- پرولوگ
- جاوا
- جاوا اسکریپت
- جی کوئری
- حوملا
- داده کاوی
- دلفی
- رباتیک
- روبی
- زبان ماشین
- سئو
- ساختمان داده ها
- سایر کتاب ها
- سخت افزار
- سوئیفت
- سی اس اس
- سی پلاس پلاس
- سی شارپ
- سیستم عامل
- سیستم های خبره
- شبکه و مجازی سازی
- شبیه سازی کامپیوتر
- طراحی الگوریتم
- فتوشاپ
- فریم ورک گتنا
- کاتلین
- کالی لینوکس
- کریستال ریپورت
- گزارش کارآموزی
- گوگل
- لیسپ
- متلب
- مقاله
- مهندسی نرم افزار
- نیوک
- هوش مصنوعی
- وب مستر
- ویژوال بیسیک
- نرم افزار و ابزار برنامه نویسی
- وردپرس