Wednesday, May 02, 2007

Design Patterns [Links]

I collected some links to design patterns (mostly fowler and dofactory).
I hope you find them usefull.

http://www.martinfowler.com/eaaDev/index.html
http://www.dofactory.com/Patterns/Patterns.aspx
http://developer.yahoo.com/ypatterns/ (UI design patterns)
http://msdn2.microsoft.com/en-us/library/aa137892.aspx (Guides)

GUI Patterns
http://www.martinfowler.com/eaaDev/OrganizingPresentations.html

Separated Presentation
http://www.martinfowler.com/eaaDev/SeparatedPresentation.html
Passive View
http://www.martinfowler.com/eaaDev/PassiveScreen.html
Supervising Controller
http://www.martinfowler.com/eaaDev/SupervisingPresenter.html
Presentation Model
http://www.martinfowler.com/eaaDev/PresentationModel.html
Flow View Synchronization
http://www.martinfowler.com/eaaDev/FlowSynchronization.html
Observer View Synchronization
http://www.martinfowler.com/eaaDev/MediatedSynchronization.html
Event Aggregator
http://www.martinfowler.com/eaaDev/EventAggregator.html
Presentation Chooser
http://www.martinfowler.com/eaaDev/PresentationChooser.html

MVC / MVP [obsolete?]
http://www.martinfowler.com/eaaDev/uiArchs.html


Data

Data Patterns
http://msdn2.microsoft.com/en-us/library/ms998446.aspx

Notification
http://www.martinfowler.com/eaaDev/Notification.html
Range
http://www.martinfowler.com/eaaDev/Range.html
Special Case
http://martinfowler.com/eaaCatalog/specialCase.html
Null Object
?
Parallel Model
http://www.martinfowler.com/eaaDev/AgreementDispatcher.html


Events
http://www.martinfowler.com/eaaDev/EventNarrative.html

Domain Event
http://www.martinfowler.com/eaaDev/DomainEvent.html
Event Collaboration
http://www.martinfowler.com/eaaDev/EventCollaboration.html
Event Sourcing
http://www.martinfowler.com/eaaDev/EventSourcing.html
Agreement Dispatcher
http://www.martinfowler.com/eaaDev/AgreementDispatcher.html
Retroactive Event
http://www.martinfowler.com/eaaDev/RetroactiveEvent.html


Temporal patterns
http://www.martinfowler.com/eaaDev/timeNarrative.html

Audit Log
http://www.martinfowler.com/eaaDev/AuditLog.html
Time Point
http://www.martinfowler.com/eaaDev/TimePoint.html
Effectivity
http://www.martinfowler.com/eaaDev/Effectivity.html
Temporal Object
http://www.martinfowler.com/eaaDev/TemporalObject.html
Temporal Property
http://www.martinfowler.com/eaaDev/TemporalProperty.html
Snapshot
http://www.martinfowler.com/eaaDev/Snapshot.html

Creational Patterns

Abstract Factory
http://www.dofactory.com/Patterns/PatternAbstract.aspx
Builder
http://www.dofactory.com/Patterns/PatternBuilder.aspx
Factory Method
http://www.dofactory.com/Patterns/PatternFactory.aspx
Prototype
http://www.dofactory.com/Patterns/PatternPrototype.aspx
Singleton
http://www.dofactory.com/Patterns/PatternSingleton.aspx

Structural Patterns

Adapter
http://www.dofactory.com/Patterns/PatternAdapter.aspx
Bridge
http://www.dofactory.com/Patterns/PatternBridge.aspx
Composite
http://www.dofactory.com/Patterns/PatternComposite.aspx
Decorator
http://www.dofactory.com/Patterns/PatternDecorator.aspx
Façade
http://www.dofactory.com/Patterns/PatternFacade.aspx
Flyweight
http://www.dofactory.com/Patterns/PatternFlyweight.aspx
Proxy
http://www.dofactory.com/Patterns/PatternProxy.aspx

Behavioral Patterns

Chain of Responsibility
http://www.dofactory.com/Patterns/PatternChain.aspx
Command
http://www.dofactory.com/Patterns/PatternCommand.aspx
Interpreter
http://www.dofactory.com/Patterns/PatternInterpreter.aspx
Iterator
http://www.dofactory.com/Patterns/PatternIterator.aspx
Mediator
http://www.dofactory.com/Patterns/PatternMediator.aspx
Memento
http://www.dofactory.com/Patterns/PatternMemento.aspx
Observer
http://www.dofactory.com/Patterns/PatternObserver.aspx
State
http://www.dofactory.com/Patterns/PatternState.aspx
Strategy
http://www.dofactory.com/Patterns/PatternStrategy.aspx
Template Method
http://www.dofactory.com/Patterns/PatternTemplate.aspx
Visitor
http://www.dofactory.com/Patterns/PatternVisitor.aspx

Dependency Injection
http://martinfowler.com/articles/injection.html

1 comments:

Boris said...

Nice collection of links. Thank you.