Principles of Object-Orientation
The concepts and core mechanisms of object-orientation are the building
blocks of an OO app. In this section, you find out how to apply those concepts
and techniques to create well-designed, easy-to-understand programs.
Separation of concerns is a design principle that calls for breaking your system
(or program) into components, each of which either implements a certain
piece of functionality, such as heating water (in the tea-making example) or
encapsulates a nonfunctional quality such as performance.
Separation of concerns starts early in OO development, right at the time
objects are identified and their classes are defined. Each class represents a
concern, such as a Vessel, a Stove, or a Faucet. The domain naturally identifies
these concerns for you.
The benefit of separating concerns is twofold:
? It reduces the complexity of developing the software by allowing development
of the software in pieces.
? It allows independent evolution and maintenance of the system.
In order for independent evolution to happen, the system must be partitioned
so that the components exhibit low coupling and high cohesion.
No comments:
Post a Comment