Object Oriented
Lecture_2_OO
- Software is inherently固有的 complex
- Complexity of the problem domain
- Difficulty of managing the development process
- Flexibility possible through software
- Problems of characterizing描述xx特征 the behavior of discrete离散的 systems
Five attributes of a complex system
- Hierarchical structure
architecture of a complex system is a function of its components as well as the hierarchical relationships among these components. - Relative Primitives
The choice of what components in a system are primitive is relatively arbitrary and is largely up to the discretion of the observer of the system. - Separation of Concerns
separating a computer program into distinct sections such that each section addresses a separate concern.
A concern : a set of information that affects the code of a computer program.
Makes it possible to study each part in relative isolation. - Common patterns
complex systems have common patterns. These patterns may involve the reuse of smaller components,
E.g cells found in both plants and animals. - Stable intermediate forms
complex systems tend to evolve进化 over time.
A complex system that works usually evolves from a simple system that worked.
As systems evolve, objects that were once considered complex become the primitive objects on which more complex systems are built
Bringing order to the chaos: Object Oriented Design and Programming
- OOP
Object-oriented programming is a method of implementation执行 in which programs are organized as cooperative collections of objects, each of which represents an instance of some class, and whose classes are all members of a hierarchy of classes united via inheritance relationships. - OOD
Object-oriented design is a method of design encompassing围绕 the process of object-oriented decomposition分解 and a notation记号 for depicting描述 both logical and physical as well as static and dynamic models of the system under design.