DESIGN PATTERNS

Overview | Architecture | Differentiation | Life Cycle Management |
Success Stories | Demo | Product Specifications | FAQ

Background

Design Patterns systematically name, motivate, and explain a general solution that addresses a recurring problem. They capture the full implementation of advanced features and behaviors of objects in the application. Developers attach design patterns to objects declaratively. They can be attached to any repository object, including:
  • business objects
  • properties
  • middle-tier objects
  • windows
  • buttons, etc.

Benefits

OmniBuilder promotes component re-use and the declarative approach to building applications through the use of Design Patterns.

Design patterns capture the full implementation of advanced features and behaviours of objects in the application. Developers attach design patterns to objects declaratively, then OmniBuilder takes care of the rest, making changes to the physical model, to related objects, to the middle-tier, to transaction processing, to the presentation layer, and so on, to fully and correctly implement the feature.

Design patterns can be added or removed at any stage. This lets the developer try out different functional or visual presentations--all without writing a line of code.

Design patterns are technology-independent which means that you can re-engineer the application to new architectures and technologies as they become important to your business without losing any of your components. These design patterns are stress-tested and tuned for managing large amounts of data.

Design patterns represent the ultimate in component based development and reusability, giving you component-reuse at the most granular level.

Collection of Design Patterns

OmniBuilder has an extensive collection of design patterns which are used to capture business requirements, design decisions, implementation specifics and application behaviour, including:
  • full range of validation rules
  • check-in, check-out facilities
  • denormalizations
  • enforce uniqueness within the system or within group
  • handling of queries and SQL views
  • window buttons to add, update, delete, refresh, etc.
  • full transaction control
  • object copy/duplicate
  • query-by-Form with optional startup condition
  • object navigation and related object lookup, browse and zoom
  • version control: view history/new version
  • user-defined computed fields
  • sort-by specification
  • for porting applications, adding security, generating documentation, etc.
  • see Product Specifications for more design patterns ordered by component
Using Design Patterns Following is an example of the hierarchy design pattern. If you wanted to present your data in a graphical format within a tree structure, i.e., you want to show the reporting structure within an organization).

Attach Design Pattern

design patterns

OmniBuilder manages all aspects of processing

After attaching the hierarchy design pattern to the business object (i.e. Organization), OmniBuilder will manage all aspects of hierarchical processing and display automatically, including:
  • managing of the parent-child relationship, the level numbering and ordering
  • ability to move branches within the tree
  • creation of siblings and children
  • adding services to the windows to manage the creation of new records
  • display of the data in a tree control with expansion/collapse of nodes
  hierarchy
  The developer reduces the amount of programming, testing and documentation effort by relying on OmniBuilder to do the full implementation. The application can be built and refined quickly and can have greater functionality than was possible before.

Developing Design Patterns

Design patterns are modelled within OmniBuilder as regular objects and can have properties, services, events, methods and behaviours.

Design patterns can also be custom programmed by the developer in any object-oriented language.

Since OmniBuilder is an open tool, its collection of design patterns is completely accessible to the developer to understand, copy and modify as needed. Developers are also free to use published design patterns.

Other Sources of Information

General information and collections of design patterns can be found at http://hillside.net/patterns/patterns.html and http://c2.com/ppr/index.html.
  Overview | Architecture | Differentiation | Life Cycle Management |
Success Stories | Demo | Product Specifications | FAQ
Home | Top | Contact us | Site Map