17 lines
999 B
Markdown
17 lines
999 B
Markdown
Indications that you need to sub-divide a service into components:
|
||
|
||
- Quality of service requirements
|
||
-
|
||
- are there large variations in response times
|
||
- ...in transaction processing times
|
||
- The business might treat categories of customer differently
|
||
- We should actually sub-divide our sales service into RegularCustomers component and StrategicCustomers component
|
||
- These things can start to show up when the business starts asking you to treat something (like a customer) in little different ways throughout the system. You end up with a bunch of if statements asking the same question.
|
||
-
|
||
- Ask the business if this is really a new business component
|
||
- Fork the code base and let them grow apart. This is liberating as you don't have to maintain both component requirements in one code base.
|
||
- More examples
|
||
-
|
||
- Airlines - business vs economy class
|
||
- Shipping - frozen goods vs regular toilet paper
|
||
- Billing - charging credit cards vs invoicing |