CSC/ECE 517 Fall 2007/wiki3 3 as

From Expertiza_Wiki
Revision as of 04:17, 19 November 2007 by Acdumlup (talk | contribs) (→‎References)
Jump to navigation Jump to search

Topic

Take the principle of Separation of Responsibility and catalog the information on it available on the Web. Find good descriptions and good, concise, understandable examples. Tell which you consider the best to present to a class.

Separation of Responsibility

Separation of Responsibility states that a given problem involves different kinds of concerns, which should be identified and separated to cope with complexity, and to achieve the required engineering quality factors such as robustness, adaptability, maintainability, and reusability. The principle can be applied in various ways and it is an ubiquitous software engineering principle.

Separation of Responsibility has many similar terms or principles. All of them have constitute similar ideas. These terms include Single Responsibility Principle, low coupling, Separation of Concerns and modularity

In object-oriented methods the separated concerns are modeled as objects and classes, which are generally derived from the entities in the requirement specification and use cases. In structural methods, concerns are represented as procedures. In aspect-oriented programming, the term concern is extended with the so-called crosscutting properties such as synchronization, memory management and persistency.

Principle

The clear distinction of functionality among

Description

This is similar to the GRASP patterns.

Examples

Javacoffeebreak. This site contains an example using separation of responsibility for an easy GUI application.

References

Javacoffeebreak.

wikipedia

http://designparadigm.wordpress.com/

http://davidhayden.com/blog/dave/archive/2004/11/19/631.aspx