Blue Flower

4+1 View Model design arch

Logical View => class & state diagram
Development View => component & package diagram
Physical view => deployment diagram
Process View => sequence,activity diagram
Scenarios => Use case

CQRS (Command Query Seperation)

This principle states that either the method should command (change the persistent state) or query (read) the stored info but NOT BOTH

In real world, the ratio of update an info is less than retrieval of the info.  Example, ration 1:4 (1 time => update, 4=> times read)

 

SOLID Principle

Single Responsibility Principle: it should have only one reason to change. ie., it should do only one job

Open Closed Principle: Objects or entities should be open for extension but closed for modification

Liskov substitution Princple: Objects should be replaceble by its subtype

Interface Segregation Principle: don't force client to implement all methods of interfance instead comeup with client specific interface

Dependency Inversion Principle: a class should depend on abstraction and not conceretion (ie., design by interface). High level module should not depend on low level 

                                              module but they dependend on abstractions

 

Gang of Four (23 pattern)

Creational Pattern

1) Abstract
2) Builder
3) Factory
4) Prototype
5) Singleton

 

Structural Pattern

6) Adapter
7) Bridge
8) Composite
9) Decorator
10) Facade
11) Flyweight
12) Proxy


Behavioural Pattern

13) Mediator
14) Momemtum
15) Iterator
16) Interpreter
17) Chain of Responsibility (CoR)
18) Command
19) State
20) Strategy
21) Observer
22) Template
23) Visitor

You have no rights to post comments