You are here: Home » Lenses » swong » Design Patterns
Lens Feed

Lens Design Patterns

Lens by: Stephen Wong

This lens is a collection of modules discussing various design patterns in object-oriented programming and design.

Design patterns are design solutions to recurring problems in software construction. Object-oriented design patterns present themselves as collections of classes and/or interfaces connected by specific inheritance and/or composition relationships. These are accompanied by coding templates and specific semantics. Design patterns form a cohesive language that can be used to describe classic solutions to common design problems. These patterns enable us to discuss systems of objects as quasi-encapsulated entities. Design patterns are very successful at capturing the inherent abstractions of the problem. By using design patterns to solve programming problems, the proper perspective on the design process can be maintained.

Design patterns persist in software development because they embody one or more fundamental principles of computer science. In such, design patterns form a very useful "meta-language" that can be used to illustrate and reinforce many key concepts in programming. Design patterns provide ways to structure software components into systems that are flexible, extensible, and have a high degree of reusability.

These pattern discussions, except for the Union, Null and Model-View-Controller patterns are adapted from the classic text, Design Patterns by Gamma, Helm, Johnson and Vlissides (Addison Wesley Longman, 1995. ISBN 0-201-63361-2). Anyone serious about learning object oriented programming should own this book.

These modules were created a resource for the CNX course "Priniciples of Object-Oriented Programming"

Visit Web page for "Principles of Object-Oriented Programming" collection

Selected content (what's this?)

16 modules

Sort by: Results per page:
View: Lens | Detail | Compact | Statistics
Statistics: All Time | Recent (11/1511/22) Total Views Views/Day Percentile Rank
2688 5.36 82.20% 2926
5596 6.33 85.54% 2377
747 1.48 45.57% 8949
3941 4.63 79.15% 3428
511 3.44 71.77% 4641
525 3.53 72.52% 4518
984 1.90 54.34% 7507
506 3.40 71.58% 4672
779 1.58 47.99% 8551
221 1.54 46.90% 8731