Object-oriented design

Chapter 14

An object-oriented system is made up of interacting objects that maintain their own local state and provide operations on that state. The representation of the state is private and cannot be accessed directly from outside the object. Object-oriented design processes involve designing object classes and the relationships between them.

Object-oriented design is one phase of the development process:

  • Object-oriented analysis is concerned with developing an object-oriented model of the application domain. The objects in that model reflect the entities and operations associated with the problem to be solved.
  • Object-oriented design with developing an object-oriented model of a software system to implement the identified requirements.
  • Object-oriented programming is concerned with realising a software design using an object-oriented programming language, such as Java.

An object is an entry that has a state and a defined set of operations that operate on that state. The state is represented as a set of object attributes. Objects created according to an object class definition.

In such a language as Java it is easy to take an object-oriented design and produce an implementation where the objects are concurrent processes. There are two kinds of concurrent object implementation:

  1. Servers where the object is realised as a parallel process with methods corresponding to the defined object operations.
  2. Active objects where the state of the object may be changed by internal operations executing within the object itself.

The general process that is described in the book has a number of stages:

  1. Understand and define the context and the modes of use of the system.
  2. Design the system architecture
  3. Identify the principal objects in the system.
  4. Develop design models
  5. Specify object interfaces.

My thoughts

The concept of object-oriented design seemed really unnatural for me five or six years ago when I used to code with Visual Basic and Delphi. I’ve seen no sense in making things so complicated and abstract rather than just write the program you need using procedures, jumps etc. Today it’s the other way around – I don’t see any other way of programming something bigger that bash script.

 
software_engineering/object-oriented_design.txt · Последние изменения: 2009/09/17 03:33 От freetonik
 
За исключением случаев, когда указано иное, содержимое этой вики предоставляется на условиях следующей лицензии:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki