Architecture and Implementation
Learn about implementation-level practices in the context of architecture.
We'll cover the following
Software code is an implementation of the architecture. Therefore, architectural guidance is necessary during the development process.
In this lesson, I want to briefly touch on important software architecture topics that affect coding and implementation.
Tactical Domain-Driven Design
While the strategic area of Domain-Driven Design affects the higher-level structure of the entire enterprise, the tactical part of DDD is a vital technique for implementation, helping manage codebase complexity and bridge the gap between developers and problem space
Tactical DDD is a complex and rare skill that requires the purposeful education of engineering teams. While acting as a software architect throughout my career, I always ensure that I set clear expectations with developers about learning and following DDD in code. It makes a big difference when an architect explicitly sets a high bar for engineering excellence with practices, such as Model-Driven Design and DDD.
You can learn more about tactical DDD in a famous big blue book: “Domain Driven Design” by Eric Evans.
When applying the above advice to real-life situations, initiate technical discussions with engineers, and use tactical DDD terms when explaining solutions. Listen to their responses, and try to align language around proper patterns and practices. A shifting mindset is the responsibility of those senior team members who know advanced topics, such as DDD and modeling.
Get hands-on with 1400+ tech skills courses.