Login
Hello
(
Sign in
)
or
Register
Menu
Home
Products
Qor3
LanP3
Our Portfolio
Technologies
Testimonials
Industries
Case Studies
Our Services
Design
Development
Web
Blogs
ClearContent
About Lucid
Contact Us
Search
Syndication
Blogs
ClearContent
General
Software Patterns
D4 Software Framework
A Pattern Language for Designing, Developing, Documenting and Deploying Object-Oriented Software Frameworks
D1: Designing Patterns
Designing Patterns
are concerned with the Designing process and compliment Developing Patterns for implementations. They can be utilized as standalone patterns but usually combined for best effect. They can also be combined with design methodologies and design principles.
Designing Patterns discussed here (not Design Patterns [GOF]), are a category of Patterns that relate to the design of a Software Framework. Designing Patterns compliment and point to Design Patterns [GOF] but are different in nature.
DesignGeneralized
Find what is inherently or adherently common
DesignAbstraction
Find what is common via abstraction.
DesignRefinement
Refine abstract and generalized concepts.
CoalescentPatterns
Use one or more Design Patterns (GOF) to achieve goal.
ApplyImmersePrinciples
Apply good design principles such as
IMMERSE
UseIterativeDesign
Start with DesignGeneralized, then DesignAbstraction and lastly DesignRefinement
D2: Developing Patterns
Developing Patterns
are used to provide Patterns for implementing Software Frameworks. Developing patterns are architecturally minded, and they serve to
realize
Designing Patterns by their implementation techniques.
DevelopHotspot
Discover where your hotspots should be. Choose DevelopWhitebox or DevelopBlackbox
DevelopWhitebox
You want less DesignRefinement or require some form of DesignAbstraction or DesignGeneralized to remain.
DevelopBlackbox
You want less DesignAbstration or DesignGeneralized and want complete DesignRefinement.
ConfigurationTool
You have used DesignBlackbox and require more flexibility and customization.
CodeGeneration
You have used DevelopWhitebox and want to allow for easier and quicker DesignRefinement.
SoftwareFactory
You have ConfigurationTool and CodeGeneration but want more power and flexibility.
D3: Documenting Patterns
Documenting Patterns
are used to describe the Software Framework and aid the Deploying Patterns.
They facilitate and maximize understanding and therefore protential reuse.
WritingReference
You must provide a reference of interfaces.
WritingRecipe
You need to provide examples of isolated features of the framework that a pure reference cannot show.
WritingCookbook
You need to combine a large amount of recipes.
Self-Describing
Using tools and generators, you can generate documentation.
D4: Deploying Patterns
Deploying Patterns
realizes
the Software Framework itself, and looks at ways that maximize the Frameworks reuse potential.
DeployAsIntegration
Although Documenting Patterns are applied, Your framework requires easy and quicker implementation and adoption.
DeployWithSampleApplication
You need to show off and demonstrate complex capabilities that WritingRecipe and WritingCookbooks do not show.
DeployWithTraining
Although Documenting Patterns are applied you need to further adoption.
DeployWithSupport
You need maximum facilitation of the framework.
Bibliography
Design Patterns: Elements of Reusable Object-Oriented Software
- Gamma, Helm, Johnson, Vlissides (Addison Wesley)
Implementing Application Frameworks
- Fayad, Schmidt, Johnson (Wiley)
Pattern-Oriented Software Architecture: A System of Patterns [Vol 1]
- Buschmann, Meunier, Rohnert, Sommerlad, Stal (Wiley)
Pattern-Oriented Software Architecture [Vol 2]
- Schmidt, Stal, Rohnert, Buschmann (Wiley)
Business Component Factory
- Herzum, Sims (Wiley)
Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools
- Jack Greenfield, Keith Short, Steve Cook, Stuart Kent
Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks
Don Roberts, Ralph Johnson
Available at:
st-www.cs.uiuc.edu/users/droberts/evolve.html
A "Framework" for Object Oriented Frameworks Design
- Parsons, Rashid, Speck, Telea
Available at:
portal.acm.org/citation.cfm?id=832937
Design, implementation and evolution of object oriented frameworks: concepts and guidelines
- J. van Gurp, J. Bosch
Available at:
publications.jillesvangurp.com/spejvg.pdf