Decomposite patterns Flashcards

1
Q

Decomposition patterns

A

Decompose by business capability

Decompose by subdomain

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Decompose by business capability: context

A

You are developing a large, complex application and want to use the microservice architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Decompose by business capability: problem

A

How to decompose an application into services?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Decompose by business capability: forces

A

The architecture must be stable
Services must be cohesive
Services must conform to the Common Closure Principle
Services must be loosely coupled
A service should be testable
Each service be small enough to be developed by a “two pizza” team
Each team that owns one or more services must be autonomous.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Decompose by business capability: solution

A

Define services corresponding to business capabilities.
* It is something that a business does in order to generate value
A business capability often corresponds to a business object, e.g.
Business capabilities are often organized into a multi-level hierarchy. For example, an enterprise application might have top-level categories such as Product/Service development, Product/Service delivery, Demand generation, etc.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Decompose by business capability: example

A
The business capabilities of an online store include:
* Product catalog management
* Inventory management
* Order management
* Delivery management
…
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Decompose by business capability: result

A

Stable architecture since the business capabilities are relatively stable
Development teams are cross-functional, autonomous, and organized around delivering business value rather than technical features
Services are cohesive and loosely coupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Decompose by business capability: issues

A

How to identify business capabilities?
Good starting points for identifying business capabilities are:
organization structure - different groups within an organization might correspond to business capabilities or business capability groups.
high-level domain model - business capabilities often correspond to domain objects

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Decompose by business capability: related patterns

A

The Decompose by subdomain pattern is an alternative pattern

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Decompose by business subdomain: context

A

You are developing a large, complex application and want to use the microservice architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Decompose by business subdomain: problem

A

How to decompose an application into services?

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Decompose by business subdomain: forces

A

The architecture must be stable
Services must be cohesive
Services must conform to the Common Closure Principle
Services must be loosely coupled
A service should be testable
Each service be small enough to be developed by a “two pizza” team
Each team that owns one or more services must be autonomous.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Decompose by business subdomain: solution

A

Define services corresponding to Domain-Driven Design (DDD) subdomains.
Each subdomain corresponds to a different part of the business.
Subdomains can be classified as follows:
* Core - key differentiator for the business and the most valuable part of the application
* Supporting - related to what the business does but not a differentiator. These can be implemented in-house or outsourced.
* Generic - not specific to the business and are ideally implemented using off the shelf software

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Decompose by business subdomain: example

A

The subdomains of an online store include:

  • Product catalog
  • Inventory management
  • Order management
  • Delivery management
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Decompose by business subdomain: result

A

Stable architecture since the business capabilities are relatively stable
Development teams are cross-functional, autonomous, and organized around delivering business value rather than technical features
Services are cohesive and loosely coupled

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Decompose by business subdomain: issues

A

How to identify the subdomains?
Good starting points for identifying subdomains are:
* organization structure - different groups within an organization might correspond to subdomains
* high-level domain model - subdomains often have a key domain object

17
Q

Decompose by business subdomain: related

A

The Decompose by business capability pattern is an alternative pattern