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.