ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Domain-Driven Design with Java

دانلود کتاب طراحی دامنه محور با جاوا

Domain-Driven Design with Java

مشخصات کتاب

Domain-Driven Design with Java

ویرایش: [1 ed.] 
نویسندگان:   
سری:  
ISBN (شابک) : 9781800560734 
ناشر: Packt 
سال نشر: 2022 
تعداد صفحات: 302
[303] 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 22 Mb 

قیمت کتاب (تومان) : 67,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 3


در صورت تبدیل فایل کتاب Domain-Driven Design with Java به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب طراحی دامنه محور با جاوا نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب طراحی دامنه محور با جاوا

شرح اتخاذ یک رویکرد کاربردی و مدرن برای معماری و پیاده سازی راه حل های الهام گرفته از DDD برای تبدیل ایده های کسب و کار انتزاعی به نرم افزار کاربردی در سراسر طیف چرخه عمر توسعه نرم افزار ویژگی های کلیدی: اصول DDD را برای ایجاد راه حل های ساده، موثر و با فاکتور مناسب اجرا کنید از تکنیک های مدل سازی سبک وزن برای رسیدن به درک جمعی مشترک از حوزه مشکل استفاده کنید با استفاده از الگوهای طراحی مدرن، برنامه های یکپارچه را به اجزای توزیع شده و با جفت آزاد تجزیه کنید توضیحات کتاب: طراحی دامنه محور (DDD) مجموعه‌ای از تکنیک‌ها و الگوها را در دسترس قرار می‌دهد که متخصصان حوزه، معماران و توسعه‌دهندگان را قادر می‌سازد تا با هم کار کنند تا مشکلات پیچیده کسب‌وکار را به مجموعه‌ای از زیرسیستم‌های دارای فاکتور، مشارکت‌کننده و آزادانه تجزیه کنند. این راهنمای عملی به شما به عنوان یک توسعه‌دهنده و معمار کمک می‌کند تا دانش خود را به کار ببندید تا طرح‌های نرم‌افزاری ظریفی ایجاد کنید که کار کردن با آن‌ها لذت‌بخش است و استدلال کردن در مورد آنها آسان است. شما با مقدمه‌ای بر مفاهیم طراحی مبتنی بر دامنه شروع می‌کنید و راه‌های مختلفی را برای اعمال آن‌ها در سناریوهای دنیای واقعی کشف می‌کنید. همچنین در هنگام ایجاد راه‌حل‌های بومی ابری که از تکنیک‌های مدرن مانند میکروسرویس‌های رویداد محور و معماری‌های ریزدانه استفاده می‌کنند، DDD بسیار مرتبط است. با پیشروی در فصول، با مفاهیم اصلی طراحی استراتژیک DDD مانند زبان فراگیر، نقشه‌های زمینه، زمینه‌های محدود، و عناصر طراحی تاکتیکی مانند مجموعه‌ها و مدل‌های دامنه و رویدادها آشنا می‌شوید. شما می‌دانید که چگونه تکنیک‌های مدل‌سازی مدرن و سبک مانند بوم ارزش تجاری، نقشه‌برداری واردلی، داستان‌سرایی دامنه، و طوفان رویداد را به کار ببرید، در حالی که همچنین یاد می‌گیرید که چگونه سیستم را آزمایش کنید تا راه‌حل‌هایی ایجاد کنید که درجات بالایی از کیفیت داخلی را نشان می‌دهند. در پایان این کتاب طراحی نرم‌افزار، می‌توانید راه‌حل‌های نرم‌افزاری توزیع‌شده قوی، انعطاف‌پذیر و کارآمد را معمار، طراحی و پیاده‌سازی کنید. آنچه خواهید آموخت: نحوه ایجاد درک مشترک از حوزه مشکل را کشف کنید یک مرزبندی واضح بین سیستم های هسته ای و محیطی ایجاد کنید نحوه تکامل و تجزیه سیستم های پیچیده به اجزای با فاکتور مناسب را شناسایی کنید از تکنیک های شرح و بسط مانند داستان سرایی دامنه و طوفان رویداد استفاده کنید پیاده سازی EDA، CQRS، رویداد منبع یابی، و بسیاری دیگر اکوسیستمی از ریزسرویس‌های منسجم، آزادانه و توزیع‌شده طراحی کنید اجرای یک سیستم رویداد محور در جاوا را تست درایو کنید درک کنید که چگونه الزامات غیرعملکردی بر تجزیه بافت محدود تأثیر می گذارد این کتاب برای چه کسانی است: این کتاب برای برنامه نویسان جاوا متوسط ​​است که به دنبال ارتقای مهارت های مهندسی نرم افزار خود و اتخاذ یک رویکرد مشارکتی و ساختار یافته برای طراحی سیستم های نرم افزاری پیچیده هستند. به طور خاص، این کتاب به توسعه دهندگان ارشد و معماران عملی کمک می کند تا درک عمیق تری از طراحی دامنه محور به دست آورند و آن را در سازمان خود پیاده سازی کنند. آشنایی با تکنیک های DDD پیش نیاز نیست. با این حال، دانش کاری جاوا مورد انتظار است.


توضیحاتی درمورد کتاب به خارجی

Description Adopt a practical and modern approach to architecting and implementing DDD-inspired solutions to transform abstract business ideas into working software across the entire spectrum of the software development life cycle Key Features: Implement DDD principles to build simple, effective, and well-factored solutions Use lightweight modeling techniques to arrive at a common collective understanding of the problem domain Decompose monolithic applications into loosely coupled, distributed components using modern design patterns Book Description: Domain-Driven Design (DDD) makes available a set of techniques and patterns that enable domain experts, architects, and developers to work together to decompose complex business problems into a set of well-factored, collaborating, and loosely coupled subsystems. This practical guide will help you as a developer and architect to put your knowledge to work in order to create elegant software designs that are enjoyable to work with and easy to reason about. You'll begin with an introduction to the concepts of domain-driven design and discover various ways to apply them in real-world scenarios. You'll also appreciate how DDD is extremely relevant when creating cloud native solutions that employ modern techniques such as event-driven microservices and fine-grained architectures. As you advance through the chapters, you'll get acquainted with core DDD's strategic design concepts such as the ubiquitous language, context maps, bounded contexts, and tactical design elements like aggregates and domain models and events. You'll understand how to apply modern, lightweight modeling techniques such as business value canvas, Wardley mapping, domain storytelling, and event storming, while also learning how to test-drive the system to create solutions that exhibit high degrees of internal quality. By the end of this software design book, you'll be able to architect, design, and implement robust, resilient, and performant distributed software solutions. What You Will Learn: Discover how to develop a shared understanding of the problem domain Establish a clear demarcation between core and peripheral systems Identify how to evolve and decompose complex systems into well-factored components Apply elaboration techniques like domain storytelling and event storming Implement EDA, CQRS, event sourcing, and much more Design an ecosystem of cohesive, loosely coupled, and distributed microservices Test-drive the implementation of an event-driven system in Java Grasp how non-functional requirements influence bounded context decompositions Who this book is for: This book is for intermediate Java programmers looking to upgrade their software engineering skills and adopt a collaborative and structured approach to designing complex software systems. Specifically, the book will assist senior developers and hands-on architects to gain a deeper understanding of domain-driven design and implement it in their organization. Familiarity with DDD techniques is not a prerequisite; however, working knowledge of Java is expected.



فهرست مطالب

Cover
Copyright
Contributors
Table of Contents
Preface
Part 1: Foundations
Chapter 1: The Rationale for Domain-Driven Design
	Why do software projects fail?
		Inaccurate requirements
		Too much architecture
		Too little architecture
		Excessive incidental complexity
		Uncontrolled technical debt
		Ignoring non-functional requirements
	Modern systems and dealing with complexity
		How software gets built
		Complexity is inevitable
		Optimizing the feedback loop
	What is DDD?
		Understanding the problem using strategic design
		Promoting a shared understanding using a ubiquitous language
		Implementing the solution using tactical design
	Why is DDD relevant? Why now?
		Rise of open source
		Advances in technology
		Rise of distributed computing
	Summary
	Further reading
Chapter 2: Where and How Does DDD Fit?
	Architecture styles
		Layered architecture
		Vertical slice architecture
		Service-oriented architecture (SOA)
		Microservices architecture
		Event-driven architecture (EDA)
		Command Query Responsibility Segregation (CQRS)
		Serverless architecture
		The big ball of mud
		Which architecture style should you use?
	Programming paradigms
		Object-oriented programming
		Functional programming
		Which paradigm should you choose?
	Summary
Part 2: Real-World DDD
Chapter 3: Understanding the Domain
	The domain of international trade
	International trade at KP Bank
	Understanding international trade strategy at KP Bank
		The business model canvas
		The lean canvas
		Impact maps
		Wardley maps
	International trade products and services
	Summary
	Further reading
Chapter 4: Domain Analysis and Modeling
	Technical requirements
	Understanding a letter of credit
	An LC issuance application
	Enhancing shared understanding
	Domain storytelling
		Using DST for an LC application
	EventStorming
		Introducing EventStorming
		Using EventStorming for the LC issuance application
	Summary
	Further reading
Chapter 5: Implementing Domain Logic
	Technical requirements
	Continuing our design journey
	Implementing the command side
		Tooling choices
	Bootstrapping the application
		Identifying commands
		Identifying aggregates
		Test-driving the system
		Implementing the command
		Implementing the event
		Designing the aggregate
	Persisting aggregates
		State-stored aggregates
		Event-sourced aggregates
	Persistence technology choices
		Which persistence mechanism should we choose?
		Enforcing policies
	Summary
	Further reading
Chapter 6: Implementing the User Interface – Task-Based
	Technical requirements
	API styles
		CRUD-based APIs
		Task-based APIs
		Task-based or CRUD-based?
	Bootstrapping the UI
	Implementing the UI
		MVVM primer
		Creating a new LC
		Declarative view
		View delegate
		View-model
	Summary
	Further reading
Chapter 7: Implementing Queries
	Technical requirements
	Continuing our design journey
	Implementing the query side
		Tooling choices
		Identifying queries
		Creating the query model
		Query-side persistence choices
		Exposing a query API
		Advanced query scenarios
	Historic event replays
		Types of replays
		Event replay considerations
		Event design
		Event handlers with side effects
	Summary
	Further reading
Chapter 8: Implementing Long-Running Workflows
	Technical requirements
	Continuing our design journey
	Implementing sagas
		Orchestration
		Choreography
	Handling deadlines
	Summary
	Further reading
Chapter 9: Integrating with External Systems
	Continuing our design journey
	Bounded context relationships
		Symmetric relationship patterns
		Asymmetric relationship patterns
	Implementation patterns
		Data-based
		Code-based
		IPC-based
	Summary
	Further reading
Part 3: Evolution Patterns
Chapter 10: Beginning the Decomposition Journey
	Continuing our design journey
	Decomposing our monolith
	Changes to frontend interactions
		Protocol options
		Transport format
		Compatibility and versioning
		REST APIs
		Changes for event interactions
	Changes in database interactions
		Data migration
		Cut-over
	Summary
	References
Chapter 11: Decomposing into Finer-Grained Components
	Continuing our design journey
		Saga as a standalone component
		Commands and queries as standalone components
		Distributing individual query components
	Even more fine-grained decomposition
		Effects on the domain model
	Decomposing the frontend
	Where to draw the line
	Team organization
	Summary
	Further reading
Chapter 12: Beyond Functional Requirements
	Observability
		Technology metrics
		Business metrics
		DevOps metrics
	Consistency
	Performance and scale
	Trunk-based development
	Continuous testing
		Contract testing
		Mutation testing
		Chaos testing
	Deployment automation
	Refactoring
		Breaking an existing monolith
		Merging into coarse-grained bounded contexts
	Invocation style
		Synchronous invocation
		Asynchronous invocation
	Logging
		Segregating logging code
		Dealing with sensitive data
		Log format
		Log aggregation
		Tracing
	Versioning
		Components
		APIs
		Data
	Summary
	Closing thoughts
Index
Other Books You May Enjoy




نظرات کاربران