Software Design Architecture


Spread the love

Software Design Architecture has been the most frequently talked topic in programming world. As your application grows, complexity increases and maintaining the application becomes more and more harder. Software Design Architecture tries to address such problem with the help of design patterns developed by many developers and organizations and tested in different situations. Although, there are many of such design patterns and architectures available, and choosing suitable architecture is specific to the requirements of your application.

But one thing can be sure about what architecture is adopted for certain software project affects the maintainability, flexibility and scalability of your application. As your application grows over time, multiple features, number of users, caching, multiple servers, multiple database servers, multiple users, customization and many other aspects of the application development arise. And how well your application is going to perform in such situation largely depends on what architecture you application has been developed on and what patterns are followed.

Understanding different design patterns and their usage is really important in any software project. An application may be developed using multiple design patterns. Some of design patterns are as discussed below.

  1. Domain Login Patterns
    • Transaction Script
    • Domain Model
    • Table Module
    • Service Layer
  2. Data Source Patterns
    • Table Data Gateway
    • Row Data Gateway
    • Active Record
    • Data Mapper
  3. Object Relatioinal Behavioral
    • Unit of Work
    • Identity Map
    • Lazy Load
  4. Web Presentation Patterns
    • Model View Controller (MVC)
    • Page Controller
    • Front Controller
    • Template View
    • Transform View
    • Two-Step View
    • Application Controller
  5. Distribution Patterns
    • Remote Facade
    • Data Transfer Object
  6. Session State Patterns
    • Client Session State
    • Server Session State
    • Database Session State
  7. Base Patterns
    • Gateway
    • Mapper
    • Layer Supertype
    • Separated Interface
    • Registry
    • Value Object
    • Money
    • Special Case
    • Plugin
    • Service Stub
    • Record Set
    • Facade

2 responses to “Software Design Architecture”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.