The Artima Developer Community
Sponsored Link

.NET Buzz Forum
D4 Software Frameworks

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Jonathan Crossland

Posts: 630
Nickname: jonathanc
Registered: Feb, 2004

Jonathan Crossland is a software architect for Lucid Ocean Ltd
D4 Software Frameworks Posted: Oct 3, 2005 4:48 PM
Reply to this message Reply

This post originated from an RSS feed registered with .NET Buzz by Jonathan Crossland.
Original Post: D4 Software Frameworks
Feed Title: Jonathan Crossland Weblog
Feed URL: http://www.jonathancrossland.com/syndication.axd
Feed Description: Design, Frameworks, Patterns and Idioms
Latest .NET Buzz Posts
Latest .NET Buzz Posts by Jonathan Crossland
Latest Posts From Jonathan Crossland Weblog

Advertisement

D4 Software Frameworks

A Pattern Language for Designing, Developing, Documenting and Deploying

Object-Oriented Software Frameworks
Jonathan Crossland, Software Architect, Lucid Ocean Limited,
www.lucidocean.com, www.jonathancrossland.com







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





Read: D4 Software Frameworks

Topic: Format War, We Hardly Knew Ye Previous Topic   Next Topic Topic: [Snooker] German Open begeistert mit Superstars

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use