Is Design Pattern only for Object-Oriented design?
I was wonde开发者_开发技巧ring if all design Patterns are only used in Object-Oriented design? Are there any design patterns used in non Object-Oriented design?
Thanks and regards!
Design Patterns for Functional Strategic Programming
http://arxiv.org/abs/cs.PL/0204015
In previous work, we introduced the fundamentals and a supporting combinator library for strategic programming. This an idiom for generic programming based on the notion of a functional strategy: a first-class generic function that cannot only be applied to terms of any type, but which also allows generic traversal into subterms and can be customized with type-specific behaviour.
This paper seeks to provide practicing functional programmers with pragmatic guidance in crafting their own strategic programs. We present the fundamentals and the support from a user's perspective, and we initiate a catalogue of strategy design patterns. These design patterns aim at consolidating strategic programming expertise in accessible form.
Incorporating Functional Design Patterns In Software Development
http://essay.utwente.nl/631/
This thesis proposes a method for the incorporation of Functional Design Patterns in the software development process. The goal of the method is to enable functional and technical designers to make more efficient use of Functional Design Patterns at different phases of development. The method does not focus solely on functional design but ranges from acquisition all the way to maintenance.
Design patterns are not about specific languages or programming paradigms, but about higher level software designs and their reuse.
Most of the examples seen these days pertain to OOP as this is the most used programming paradigm used at the moment.
See the answers to this SO question (How is OOP and Design Patterns related?).
As can be seen by the other answers to this question, design patterns exist outside of OOP...
Design Pattern can be generally refer to proven solution to recurring problems. This is not limited to one programming paradigm.
Absolutely not. It doesn't have to be tied to object-orientation (OOP).
Design Patterns implemented using Aspect-Oriented Programming:
In fact it is possible to inject those patterns in the object models using aspect-oriented programming (AOP) without intruding your domain models. See this example with AspectJ
Another link to design pattern implementation in AOP with AspectJ, it implements numerous patterns from GoF in AOP: Design Pattern Implementations using Aspect-Oriented Programming
In the past I made a catalog of patterns used in several contexts of software development. This is a partial list of that catalog. Hope it makes the idea
Full image is here: http://rearchitect.files.wordpress.com/2006/01/taxonomy.png
alt text http://rearchitect.files.wordpress.com/2006/01/taxonomy.png
Organizational Patterns of Agile Software Development (patterns about creating development teams and assigning roles)
精彩评论