Reader small image

You're reading from  Domain-Driven Design with Java - A Practitioner's Guide

Product typeBook
Published inAug 2022
PublisherPackt
ISBN-139781800560734
Edition1st Edition
Tools
Right arrow
Authors (2):
Premanand Chandrasekaran
Premanand Chandrasekaran
author image
Premanand Chandrasekaran

Premanand Chandrasekaran is a technology leader and change agent, with a solid track record of leading large technology teams and helping businesses deliver mission-critical problems while exhibiting high internal and external quality. In the past two decades, he has had the pleasure of helping a variety of clients and domains, including financial services, online retailers, education, and healthcare startups. His specialties include technical innovation, architecture, continuous delivery, agile/iterative transformation, and employee development. When not fiddling with his trusty laptop, he spends time cutting vegetables, cooking, playing video games, and analyzing the nuances of the game of cricket.
Read more about Premanand Chandrasekaran

Karthik Krishnan
Karthik Krishnan
author image
Karthik Krishnan

Karthik Krishnan is a technology leader with over 25 years of experience in designing and building large-scale enterprise solutions across financial and retail domains. He has played numerous technical roles in leading product development for major financial institutions. He is currently serving the role of Technical Principal at Thoughtworks. He is passionate about platform thinking, solution architecture, application security and strives to be known as a coding architect. His most recent assignment entailed leading a large technology team helping their clients in their legacy modernization journey with Cloud. When not working, he spends time practicing playing tunes on his musical keyboard.
Read more about Karthik Krishnan

View More author details
Right arrow

Where to draw the line

In general, the smaller the size of our bounded contexts, the easier it becomes to manage complexity. Does that mean we should decompose our systems into as fine-grained a granularity as possible? On the other hand, having extremely fine-grained components can increase coupling among them to the extent where it becomes very hard to manage operational complexity. Hence, decomposing a system into well-factored, collaborating components can be a bit tricky, seeming to work more like an art rather than an exact science. There is no right or wrong answer here. In general, if things feel and become painful, you most likely got it more wrong than right. Here are some non-technical heuristics that might help guide this process:

  • Existing organization boundaries: Look to align along with current organizational structures. Identify which applications your business unit/department/team already owns and assign responsibilities in a manner that causes minimal disruption...
lock icon
The rest of the page is locked
Previous PageNext Page
You have been reading a chapter from
Domain-Driven Design with Java - A Practitioner's Guide
Published in: Aug 2022Publisher: PacktISBN-13: 9781800560734

Authors (2)

author image
Premanand Chandrasekaran

Premanand Chandrasekaran is a technology leader and change agent, with a solid track record of leading large technology teams and helping businesses deliver mission-critical problems while exhibiting high internal and external quality. In the past two decades, he has had the pleasure of helping a variety of clients and domains, including financial services, online retailers, education, and healthcare startups. His specialties include technical innovation, architecture, continuous delivery, agile/iterative transformation, and employee development. When not fiddling with his trusty laptop, he spends time cutting vegetables, cooking, playing video games, and analyzing the nuances of the game of cricket.
Read more about Premanand Chandrasekaran

author image
Karthik Krishnan

Karthik Krishnan is a technology leader with over 25 years of experience in designing and building large-scale enterprise solutions across financial and retail domains. He has played numerous technical roles in leading product development for major financial institutions. He is currently serving the role of Technical Principal at Thoughtworks. He is passionate about platform thinking, solution architecture, application security and strives to be known as a coding architect. His most recent assignment entailed leading a large technology team helping their clients in their legacy modernization journey with Cloud. When not working, he spends time practicing playing tunes on his musical keyboard.
Read more about Karthik Krishnan