Note - OO

来源:互联网 发布:java redis消息队列 编辑:程序博客网 时间:2024/05/21 16:54

Time is a great teacher, but unfortunately it kills all its pupils

 

owning a hammer doesn't make one an architect

Knowing an object-oriented language (such as Java) is a necessary but insufficient first step to create object systems. Knowing how to "think in objects" is critical!

 

 

A critical ability in OO development is to skillfully assign responsibilities to software objects

 

do the right thing (analysis), and do the thing right (design).

 

During object-oriented analysis there is an emphasis on finding and describing the objects or concepts in the problem domain. For example, in the case of the flight information system, some of the concepts include Plane, Flight, and Pilot.

 

During object-oriented design (or simply, object design) there is an emphasis on defining software objects and how they collaborate to fulfill the requirements. For example, a Plane software object may have a tailNumber attribute and a getFlightHistory method (see Figure 1.2).

 

The purpose of modeling (sketching UML, …) is primarily to understand, not to document.

 

 

The central idea to appreciate and practice in the UP is short timeboxed iterative, evolutionary, and adaptive development.

 

原创粉丝点击