floater
Java Jedi
总版主
发贴: 3233
积分: 421
|
于 2006-09-05 22:02
1. Business logic tend to live longer than technologies, they evovle slower than technical implementations. 2. Business logic is usually domain specific, technologies tend to cross domains(least common denominator). When new changes come in, they tend to fight against each other(code entangling). So domain driven design(DDD) is employed to smooth the bumps for new changes, i.e., follow the business logic line, not technical line so they don't fight so often. 3. A layered design is to further isolate dependencies. DDD helps us isolate the technical implementations from business logic. But sometimes, the business model is still huge. So there are several ways to divide them further, through layers or services or a combination of both, depend on how they will likely evovle, vertically or horizontally.
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand." - Martin Fowler, Refactoring - Improving the Design of Existing Code
|