Lesson 9
Design Patterns Course Continuation
A Common Design Vocabulary
Studies of expert programmers for conventional languages have shown that knowledge and experience isn't organized simply around syntax but in larger conceptual structures such as algorithms, datastructures and idioms and plans for fulfilling a particular goal.
Designers probably do not think about the notation they are usingfor recording the design as much as they try to match the current design situation against plans, algorithms, data structures, andidioms they have learned in the past.
Object-Oriented Design
Traditional approaches to the design of software have been either data oriented or process oriented. Dataoriented
methodologies emphasize the representation of information and the relationships between the parts of the whole. The actions which operate on the data are of less significance. On the other hand,
process-oriented design methodologies emphasize the actions performed by a software artifact; the data are of lesser importance.
It is now commonly held that object-oriented methodologies are more effective for managing the complexity which arises in the design of large and complex software artifacts than either data-oriented or process-oriented methodologies. This is because data and processes are given equal importance.
Objects are used to combine data with the procedures that operate on that data. The main advantage of using objects is that they provide both abstraction and encapsulation.
We hope that you found Design Patterns a valuable and enjoyable learning experience.
Please take a couple of minutes to check out these other sites from DistributedNetworks.