The Effect of Data Abstraction on Loop Programming Techniques
IEEE Transactions on Software Engineering
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
A debate on language and tool support for design patterns
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Design pattern implementation in Java and aspectJ
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Cataloging design abstractions
Proceedings of the 2006 international workshop on Role of abstraction in software engineering
The Role of Abstraction in Software Engineering
ACM SIGSOFT Software Engineering Notes
Is abstraction the key to computing?
Communications of the ACM
C# 3.0 design patterns
I-Java: An Extension of Java with Incomplete Objects and Object Composition
SC '09 Proceedings of the 8th International Conference on Software Composition
Object reuse and behavior adaptation in Java-like languages
Proceedings of the 9th International Conference on Principles and Practice of Programming in Java
On the extensibility requirements of business applications
Proceedings of the 2012 workshop on Next Generation Modularity Approaches for Requirements and Architecture
Hi-index | 0.00 |
In the context of software engineering, abstraction is the means by which we move from layer to layer in the realization of the solution to a large problem. It has been recognized for over a decade that design patterns are one of the key mechanisms for implementing reliable and maintainable software. This paper explores where they fit in in the software "food chain". In particular, it examines how advances in language design can narrow the gap for implementing design patterns. Examples are given of syntax features in C# 3.0 (extension methods and LINQ) as well as of library methods (Serialize) in terms of which pattern implementations become easier to produce and reproduce. The challenges that face design pattern implementation are discussed and the promise of reusable design patterns examined.