20 January 2007

Software Engineering: Design Pattern (Definitions)

"The design patterns [...] are descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context." (Erich Gamma et al, "Design Patterns: Elements of Reusable Object-Oriented Software", 1994)

"A recurring structure or approach to a solution." (Atul Apte, "Java Connector Architecture: Building Custom Connectors and Adapters", 2002)

"A ready-to-use solution for a frequent design problem, expressed as partial design, consisting of classes and associations. Each design pattern is embedded in a set of constraints." (Johannes Link & Peter Fröhlich, "Unit Testing in Java", 2003)

"A generalized solution to a commonly occurring problem. Design patterns are characterized by their name, applicability, scope, structure, behavior, and consequences." (Bruce P Douglass, "Real-Time Agility", 2009)

"A solution to a problem in a context. A code idiom or design structure that satisfies the needs of a frequently occurring problem, constraint, requirement, etc." (Dean Wampler & Alex Payne, "Programming Scala", 2009)

"A solution to a problem in a context. A code idiom or design structure that satisfies the needs of a frequently occurring problem, constraint, requirement, etc. The 'context' portion of the definition is important, as it specifies conditions when the pattern is an appropriate choice and when it isn’t." (Dean Wampler, "Functional Programming for Java Developers", 2011)

"A general term for pattern that includes not only algorithmic strategy patterns but also patterns related to overall code organization." (Michael McCool et al, "Structured Parallel Programming", 2012)

"In object-oriented programming, an arrangement of classes that interact to perform some common and useful task. Similar to an object-oriented algorithm." (Rod Stephens, "Beginning Software Engineering", 2015)

"Design and program templates created to facilitate the construction of robust and reliable programs by capturing knowledge about how to best construct such programs in various domains." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"Reusable, well-proven solution to recurring modeling/design problems or scenarios." (Panos Alexopoulos, "Semantic Modeling for Data", 2020)

No comments:

Related Posts Plugin for WordPress, Blogger...

About Me

My photo
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.