Difference between revisions of "DesignPatterns"
From Lost In Wonderlands
(→Design Patterns) |
(→See also) |
||
(37 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
= Design Patterns = | = Design Patterns = | ||
− | |||
− | |||
'''NeXT Steps''' | '''NeXT Steps''' | ||
Line 19: | Line 17: | ||
== See also == | == See also == | ||
− | + | * [https://en.wikipedia.org/wiki/Index_of_object-oriented_programming_articles Index_of_object-oriented_programming_articles] | |
+ | * [[SoftwareArchitecture]] | ||
* [[DesignPatterns]] | * [[DesignPatterns]] | ||
* [[AntiPatterns]] | * [[AntiPatterns]] | ||
Line 26: | Line 25: | ||
* [[SecureCode]] | * [[SecureCode]] | ||
* [[UML]] | * [[UML]] | ||
+ | * [[SOLID]] | ||
+ | * [[Packages Principle]] | ||
+ | * [[KISS]] | ||
+ | * [[DRY]] | ||
+ | * [[GRASP]] | ||
+ | * [[YAGNI]] | ||
Line 32: | Line 37: | ||
== Design Patterns Catalog == | == Design Patterns Catalog == | ||
− | + | === Gang Of Four Patterns === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | * https://en.wikipedia.org/wiki/Design_Patterns |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | Several implementation of Above design patterns in C++ |
− | + | * https://github.com/BartVandewoestyne/Design-Patterns-GoF | |
− | + | * https://github.com/zebmason/GoFRefactored/blob/master/README.md | |
− | + | * http://www.informit.com/articles/article.aspx?p=1404056 | |
− | + | * https://www.infoq.com/presentations/gof-patterns-c-plus-plus-boost/ | |
− | + | * http://www.c-jump.com/CIS75/Week11/ | |
− | + | * http://www.c-jump.com/Download/Patterns/Prototype/html/ | |
− | + | * https://github.com/wangqiang8511/C---Design-Patterns-Examples/ | |
− | + | ||
− | + | ==== Creational Patterns ==== | |
− | + | * https://en.wikipedia.org/wiki/Creational_pattern | |
− | + | ||
− | + | ||
+ | * Abtract Factory Pattern, https://en.wikipedia.org/wiki/Abstract_factory_pattern | ||
+ | * Builder Pattern, https://en.wikipedia.org/wiki/Builder_pattern | ||
+ | * Factory Method Pattern , https://en.wikipedia.org/wiki/Factory_method_pattern | ||
+ | * Prototype Pattern, https://en.wikipedia.org/wiki/Prototype_pattern | ||
+ | * Singleton Pattern, https://en.wikipedia.org/wiki/Singleton_pattern | ||
+ | |||
+ | ==== Structural Patterns ==== | ||
+ | * https://en.wikipedia.org/wiki/Structural_pattern | ||
+ | |||
+ | |||
+ | * Adapter Pattern, https://en.wikipedia.org/wiki/Adapter_pattern | ||
+ | * Bridge Pattern, https://en.wikipedia.org/wiki/Bridge_pattern | ||
+ | * Composite Pattern, https://en.wikipedia.org/wiki/Composite_pattern | ||
+ | * Decorator Pattern, https://en.wikipedia.org/wiki/Decorator_pattern | ||
+ | * Facade Pattern, https://en.wikipedia.org/wiki/Facade_pattern | ||
+ | * Flyweight Pattern, https://en.wikipedia.org/wiki/Flyweight_pattern | ||
+ | * Proxy Pattern,https://en.wikipedia.org/wiki/Proxy_pattern | ||
+ | * Wrapper Pattern | ||
+ | |||
+ | ==== Behavioral Patterns ==== | ||
+ | * https://en.wikipedia.org/wiki/Behavioral_pattern | ||
+ | |||
+ | |||
+ | * Chain Of Responsibility Pattern, https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern | ||
+ | * Chaining Pattern, https://en.wikipedia.org/wiki/Command_pattern | ||
+ | * Command Pattern,https://en.wikipedia.org/wiki/Command_pattern | ||
+ | * Interpreter Pattern, https://en.wikipedia.org/wiki/Interpreter_pattern | ||
+ | * Iterator Pattern, https://en.wikipedia.org/wiki/Iterator_pattern | ||
+ | * Mediator Pattern, https://en.wikipedia.org/wiki/Mediator_pattern | ||
+ | * Memento Pattern, https://en.wikipedia.org/wiki/Memento_pattern | ||
+ | * Observer Pattern, https://en.wikipedia.org/wiki/Observer_pattern | ||
+ | * State Pattern, https://en.wikipedia.org/wiki/State_pattern | ||
+ | * Strategy Pattern, https://en.wikipedia.org/wiki/Strategy_pattern | ||
+ | * Template Method Pattern, https://en.wikipedia.org/wiki/Template_method_pattern | ||
+ | * Visitor Pattern, https://en.wikipedia.org/wiki/Visitor_pattern | ||
+ | |||
+ | === Concurrency Patterns === | ||
+ | |||
+ | * https://en.wikipedia.org/wiki/Concurrency_pattern | ||
+ | |||
+ | |||
+ | * Active Object, https://en.wikipedia.org/wiki/Active_object | ||
+ | * Asynchronous Method Invocation, https://en.wikipedia.org/wiki/Asynchronous_method_invocation | ||
+ | * Balking pattern, https://en.wikipedia.org/wiki/Balking_pattern | ||
+ | * Binding properties pattern, https://en.wikipedia.org/wiki/Binding_properties_pattern | ||
+ | * Double Checked Locking Pattern, https://en.wikipedia.org/wiki/Double-checked_locking | ||
+ | * Guarded suspension, https://en.wikipedia.org/wiki/Guarded_suspension | ||
+ | * Join Pattern, https://en.wikipedia.org/wiki/Join-pattern | ||
+ | * Leaders/followers pattern | ||
+ | * Lock Pattern, https://en.wikipedia.org/wiki/Lock_(computer_science) | ||
+ | * Monitor Object, https://en.wikipedia.org/wiki/Monitor_(synchronization) | ||
+ | * Proactor Pattern, https://en.wikipedia.org/wiki/Proactor_pattern | ||
+ | * Reactor pattern, https://en.wikipedia.org/wiki/Reactor_pattern | ||
+ | * Readers writers lock pattern, https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock | ||
+ | * Scheduling pattern, https://en.wikipedia.org/wiki/Scheduling_(computing) | ||
+ | * Thread pool pattern, https://en.wikipedia.org/wiki/Thread_pool | ||
+ | * Thread-local storage, https://en.wikipedia.org/wiki/Thread-local_storage | ||
+ | |||
+ | |||
+ | ==== Architectural_pattern ==== | ||
+ | * https://en.wikipedia.org/wiki/Architectural_pattern | ||
+ | |||
+ | * Front Controller, https://en.wikipedia.org/wiki/Front_controller | ||
+ | * Interceptor Pattern, https://en.wikipedia.org/wiki/Interceptor_pattern | ||
+ | * Model-View-Controller, https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller | ||
+ | * Multi-Tiers, https://en.wikipedia.org/wiki/Multitier_architecture | ||
+ | * Specification Pattern, https://en.wikipedia.org/wiki/Specification_pattern | ||
+ | * Publish-Subscribe Pattern, https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern | ||
+ | * Naked Objects, https://en.wikipedia.org/wiki/Naked_objects | ||
+ | * Service Locator Pattern, https://en.wikipedia.org/wiki/Service_locator_pattern | ||
+ | * Active Record Pattern, https://en.wikipedia.org/wiki/Active_record_pattern | ||
+ | * Identity Map Pattern, https://en.wikipedia.org/wiki/Identity_map_pattern | ||
+ | * Inversion of Control, https://en.wikipedia.org/wiki/Inversion_of_control | ||
+ | * Action-Domain-Responder, https://en.wikipedia.org/wiki/Action%E2%80%93Domain%E2%80%93Responder | ||
+ | * Data Access Object, https://en.wikipedia.org/wiki/Data_access_object | ||
+ | * Data Tranfer Object, https://en.wikipedia.org/wiki/Data_transfer_object | ||
+ | * HightPerformance Data Access, Layerhttp://rlacovara.blogspot.com/2009/02/high-performance-data-access-layer.html | ||
+ | |||
+ | ===== Actor Model ===== | ||
+ | * Actor model | ||
+ | ** https://en.wikipedia.org/wiki/Actor_model | ||
+ | ** https://fr.wikipedia.org/wiki/Mod%C3%A8le_d%27acteur | ||
+ | ** https://www.brianstorti.com/the-actor-model/ | ||
+ | ** https://dassur.ma/things/actormodel/ | ||
+ | ** https://mattferderer.com/what-is-the-actor-model-and-when-should-you-use-it | ||
+ | ** https://monades.roperzh.com/get-to-know-the-actor-model/ | ||
+ | ** https://www.techopedia.com/definition/25150/actor-model | ||
+ | ** https://www.youtube.com/watch?v=ELwEdb_pD0k | ||
+ | ** https://www.youtube.com/watch?v=lPTqcecwkJg | ||
+ | ** https://blog.soat.fr/2018/01/les-systemes-reactifs-et-le-pattern-actor-model/ | ||
+ | ** https://doc.akka.io/docs/akka/current/general/actors.html | ||
+ | ** https://www.infoq.com/news/2014/10/intro-actor-model/ | ||
+ | ** https://hal.archives-ouvertes.fr/hal-01163534v5/document | ||
+ | ** https://arxiv.org/ftp/arxiv/papers/1008/1008.1459.pdf | ||
+ | ** https://fr.slideshare.net/opencredo/haufe-msaday-the-actor-model-an-alternative-approach-to-concurrency-by-lorenzo-nicora | ||
+ | * implementation | ||
+ | ** https://en.wikipedia.org/wiki/Actor_model_implementation | ||
+ | ** https://rocketeer.be/articles/concurrency-in-erlang-scala/ | ||
+ | ** https://actor-framework.org | ||
+ | * microsoft | ||
+ | ** https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-introduction | ||
+ | ** https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/index | ||
+ | ** https://docs.microsoft.com/en-us/previous-versions/microsoft-robotics/bb648752(v=msdn.10) | ||
+ | ** https://docs.microsoft.com/en-us/previous-versions/microsoft-robotics/bb483056(v=msdn.10) | ||
+ | ** https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/dd492627(v=vs.100) | ||
+ | |||
+ | === Other Patterns === | ||
+ | * Blackboard Pattern, https://en.wikipedia.org/wiki/Blackboard_(design_pattern) | ||
+ | * Business Delegate Pattern, https://en.wikipedia.org/wiki/Business_delegate_pattern | ||
+ | * Composite Entity Pattern, https://en.wikipedia.org/wiki/Composite_entity_pattern | ||
+ | * Dependency Injection, https://en.wikipedia.org/wiki/Dependency_injection | ||
+ | * Intercepting Filter Pattern, https://en.wikipedia.org/wiki/Intercepting_filter_pattern | ||
+ | * Lazy Loading Pattern, https://en.wikipedia.org/wiki/Lazy_loading | ||
+ | * Mock Objects Pattern, https://en.wikipedia.org/wiki/Mock_object | ||
+ | * Null Objets Pattern, https://en.wikipedia.org/wiki/Null_Object_pattern | ||
+ | * Object Pool Pattern, https://en.wikipedia.org/wiki/Object_pool_pattern | ||
+ | * Servant Pattern, https://en.wikipedia.org/wiki/Servant_(design_pattern) | ||
+ | * Twin Pattern, https://en.wikipedia.org/wiki/Twin_pattern | ||
+ | * Type-Tunnel Pattern, https://en.wikipedia.org/wiki/Type_Tunnel_pattern | ||
+ | * Game-Programming-Pattern, https://github.com/munificent/game-programming-patterns | ||
+ | |||
+ | === Pattern-Oriented Software Architectures === | ||
+ | * Layers Pattern | ||
+ | * Pipes And Filters Pattern | ||
+ | * Blackboard Pattern | ||
+ | * Broker Pattern | ||
+ | * Presenter First Pattern, https://en.wikipedia.org/wiki/Presenter_first_(software_approach) | ||
+ | * Action-Domain-Responder, https://en.wikipedia.org/wiki/Action–domain–responder | ||
+ | * Model-View-Controller Pattern, https://en.wikipedia.org/wiki/Model–view–controller | ||
+ | * Model-View-ViewModel (aka model–view–binder), https://en.wikipedia.org/wiki/Model–view–viewmodel | ||
+ | * Model-View-Presenter pattern, https://en.wikipedia.org/wiki/Model–view–presenter | ||
+ | * Model-View-Adapater pattern, https://en.wikipedia.org/wiki/Model–view–adapter | ||
+ | * Presentation-Abstraction-Control Pattern, https://en.wikipedia.org/wiki/Presentation–abstraction–control | ||
+ | * Hierarchical_model–view–controller Pattern, https://en.wikipedia.org/wiki/Hierarchical_model–view–controller | ||
+ | * Microkernel Pattern | ||
+ | * Reflection Pattern | ||
+ | * Whole-Part Pattern | ||
+ | * Master-Slave Pattern | ||
+ | * Proxy Pattern | ||
+ | * Command Processor Pattern | ||
+ | * View Handler Pattern | ||
+ | * Forwarder-Receiver Pattern | ||
+ | * Client-Dispatcher-Server Pattern | ||
+ | * Publisher-Subscriber Pattern | ||
+ | * NakedObjects, https://en.wikipedia.org/wiki/Naked_objects | ||
+ | |||
+ | == People == | ||
+ | * https://en.wikipedia.org/wiki/Christopher_Alexander | ||
+ | * https://en.wikipedia.org/wiki/Erich_Gamma | ||
+ | * https://en.wikipedia.org/wiki/Ralph_Johnson_(computer_scientist) | ||
+ | * https://en.wikipedia.org/wiki/John_Vlissideshttps://en.wikipedia.org/wiki/John_Vlissides | ||
+ | * https://en.wikipedia.org/wiki/Grady_Booch | ||
+ | * https://en.wikipedia.org/wiki/Kent_Beck | ||
+ | * https://en.wikipedia.org/wiki/Ward_Cunningham | ||
+ | * https://en.wikipedia.org/wiki/Martin_Fowler | ||
+ | * https://en.wikipedia.org/wiki/Robert_Cecil_Martin | ||
+ | * https://en.wikipedia.org/wiki/Jim_Coplien | ||
+ | * https://en.wikipedia.org/wiki/Douglas_C._Schmidt | ||
+ | * https://en.wikipedia.org/wiki/Linda_Rising | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== References == | == References == | ||
− | + | * http://archive.oredev.org/download/18.5bd7fa0510edb4a8ce4800019179/Bruce_Douglass_-_Realtime_design_Patterns.pdf | |
− | + | * https://en.wikipedia.org/wiki/The_Hillside_Group | |
+ | * https://en.wikipedia.org/wiki/Portland_Pattern_Repository | ||
+ | * http://c2.com/cgi/wiki?WelcomeVisitors | ||
+ | * http://c2.com/cgi/wiki?HillsideGroup | ||
+ | * http://sourcemaking.com/ | ||
+ | * http://shichuan.github.com/javascript-patterns/ | ||
+ | * https://en.wikipedia.org/wiki/Design_Patterns | ||
+ | * https://en.wikipedia.org/wiki/Software_design_pattern | ||
+ | * http://www.javaworld.com/article/2078675/core-java/design-patterns--the-big-picture--part-2--gang-of-four-classics-revisited.html | ||
+ | * http://www.javabrahman.com/design-patterns/gof-gang-four-design-patterns/ | ||
+ | * http://codingplayground.blogspot.it/2009/01/design-pattern | ||
+ | |||
+ | * http://www.tutorialspoint.com/design_pattern/design_pattern_tutorial.pdf | ||
+ | * https://csharpdesignpatterns.codeplex.com/ | ||
+ | * http://www.codeproject.com/KB/architecture/#Design+Patterns | ||
+ | * https://msdn.microsoft.com/en-us/library/bb190165.aspx | ||
+ | * https://delphipatterns.codeplex.com/ | ||
+ | |||
+ | == Books == | ||
+ | * Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (Nov 10, 1994) | ||
+ | * Design Pattern Explained, A New Persective on Object-Oriented Design, Alan Shalloway, James Trott, Addison-Wesley, 1st Edition(July 9, 2001), 2nd Edition (October 22, 2004) | ||
+ | * Professional (July 9, 2001), and second edition | ||
+ | * Pattern-Oriented Software Architecture, Wiley, Vol 1 - 5 | ||
+ | * Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems, Bruce Powel Douglass, Addison Wesley (September 27,2002) | ||
+ | * Antipatterns, Identification, Refactoring, and Management, Philip A. Laplante, Clin J.Neill, Auerbach Publications (2006) | ||
+ | * Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, don Roberts, Addison-Wesley Professional, 1 edition (July 8, 1999) | ||
− | + | http://www.eventhelix.com/RealtimeMantra/Patterns/#.VuSjttwrKkA | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Latest revision as of 21:50, 20 October 2019
Contents
Design Patterns
NeXT Steps
here everything has yet to be done !
collecting more design pattern in the catalog
creating the template page for a design pattern
creating a card for each
coming soon :
Everything You Always Wanted to Know About Design Patterns... (But Were Afraid to Ask)
See also
- Index_of_object-oriented_programming_articles
- SoftwareArchitecture
- DesignPatterns
- AntiPatterns
- Refactoring
- CleanCode
- SecureCode
- UML
- SOLID
- Packages Principle
- KISS
- DRY
- GRASP
- YAGNI
Design Patterns Catalog
Gang Of Four Patterns
Several implementation of Above design patterns in C++
- https://github.com/BartVandewoestyne/Design-Patterns-GoF
- https://github.com/zebmason/GoFRefactored/blob/master/README.md
- http://www.informit.com/articles/article.aspx?p=1404056
- https://www.infoq.com/presentations/gof-patterns-c-plus-plus-boost/
- http://www.c-jump.com/CIS75/Week11/
- http://www.c-jump.com/Download/Patterns/Prototype/html/
- https://github.com/wangqiang8511/C---Design-Patterns-Examples/
Creational Patterns
- Abtract Factory Pattern, https://en.wikipedia.org/wiki/Abstract_factory_pattern
- Builder Pattern, https://en.wikipedia.org/wiki/Builder_pattern
- Factory Method Pattern , https://en.wikipedia.org/wiki/Factory_method_pattern
- Prototype Pattern, https://en.wikipedia.org/wiki/Prototype_pattern
- Singleton Pattern, https://en.wikipedia.org/wiki/Singleton_pattern
Structural Patterns
- Adapter Pattern, https://en.wikipedia.org/wiki/Adapter_pattern
- Bridge Pattern, https://en.wikipedia.org/wiki/Bridge_pattern
- Composite Pattern, https://en.wikipedia.org/wiki/Composite_pattern
- Decorator Pattern, https://en.wikipedia.org/wiki/Decorator_pattern
- Facade Pattern, https://en.wikipedia.org/wiki/Facade_pattern
- Flyweight Pattern, https://en.wikipedia.org/wiki/Flyweight_pattern
- Proxy Pattern,https://en.wikipedia.org/wiki/Proxy_pattern
- Wrapper Pattern
Behavioral Patterns
- Chain Of Responsibility Pattern, https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern
- Chaining Pattern, https://en.wikipedia.org/wiki/Command_pattern
- Command Pattern,https://en.wikipedia.org/wiki/Command_pattern
- Interpreter Pattern, https://en.wikipedia.org/wiki/Interpreter_pattern
- Iterator Pattern, https://en.wikipedia.org/wiki/Iterator_pattern
- Mediator Pattern, https://en.wikipedia.org/wiki/Mediator_pattern
- Memento Pattern, https://en.wikipedia.org/wiki/Memento_pattern
- Observer Pattern, https://en.wikipedia.org/wiki/Observer_pattern
- State Pattern, https://en.wikipedia.org/wiki/State_pattern
- Strategy Pattern, https://en.wikipedia.org/wiki/Strategy_pattern
- Template Method Pattern, https://en.wikipedia.org/wiki/Template_method_pattern
- Visitor Pattern, https://en.wikipedia.org/wiki/Visitor_pattern
Concurrency Patterns
- Active Object, https://en.wikipedia.org/wiki/Active_object
- Asynchronous Method Invocation, https://en.wikipedia.org/wiki/Asynchronous_method_invocation
- Balking pattern, https://en.wikipedia.org/wiki/Balking_pattern
- Binding properties pattern, https://en.wikipedia.org/wiki/Binding_properties_pattern
- Double Checked Locking Pattern, https://en.wikipedia.org/wiki/Double-checked_locking
- Guarded suspension, https://en.wikipedia.org/wiki/Guarded_suspension
- Join Pattern, https://en.wikipedia.org/wiki/Join-pattern
- Leaders/followers pattern
- Lock Pattern, https://en.wikipedia.org/wiki/Lock_(computer_science)
- Monitor Object, https://en.wikipedia.org/wiki/Monitor_(synchronization)
- Proactor Pattern, https://en.wikipedia.org/wiki/Proactor_pattern
- Reactor pattern, https://en.wikipedia.org/wiki/Reactor_pattern
- Readers writers lock pattern, https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock
- Scheduling pattern, https://en.wikipedia.org/wiki/Scheduling_(computing)
- Thread pool pattern, https://en.wikipedia.org/wiki/Thread_pool
- Thread-local storage, https://en.wikipedia.org/wiki/Thread-local_storage
Architectural_pattern
- Front Controller, https://en.wikipedia.org/wiki/Front_controller
- Interceptor Pattern, https://en.wikipedia.org/wiki/Interceptor_pattern
- Model-View-Controller, https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller
- Multi-Tiers, https://en.wikipedia.org/wiki/Multitier_architecture
- Specification Pattern, https://en.wikipedia.org/wiki/Specification_pattern
- Publish-Subscribe Pattern, https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern
- Naked Objects, https://en.wikipedia.org/wiki/Naked_objects
- Service Locator Pattern, https://en.wikipedia.org/wiki/Service_locator_pattern
- Active Record Pattern, https://en.wikipedia.org/wiki/Active_record_pattern
- Identity Map Pattern, https://en.wikipedia.org/wiki/Identity_map_pattern
- Inversion of Control, https://en.wikipedia.org/wiki/Inversion_of_control
- Action-Domain-Responder, https://en.wikipedia.org/wiki/Action%E2%80%93Domain%E2%80%93Responder
- Data Access Object, https://en.wikipedia.org/wiki/Data_access_object
- Data Tranfer Object, https://en.wikipedia.org/wiki/Data_transfer_object
- HightPerformance Data Access, Layerhttp://rlacovara.blogspot.com/2009/02/high-performance-data-access-layer.html
Actor Model
- Actor model
- https://en.wikipedia.org/wiki/Actor_model
- https://fr.wikipedia.org/wiki/Mod%C3%A8le_d%27acteur
- https://www.brianstorti.com/the-actor-model/
- https://dassur.ma/things/actormodel/
- https://mattferderer.com/what-is-the-actor-model-and-when-should-you-use-it
- https://monades.roperzh.com/get-to-know-the-actor-model/
- https://www.techopedia.com/definition/25150/actor-model
- https://www.youtube.com/watch?v=ELwEdb_pD0k
- https://www.youtube.com/watch?v=lPTqcecwkJg
- https://blog.soat.fr/2018/01/les-systemes-reactifs-et-le-pattern-actor-model/
- https://doc.akka.io/docs/akka/current/general/actors.html
- https://www.infoq.com/news/2014/10/intro-actor-model/
- https://hal.archives-ouvertes.fr/hal-01163534v5/document
- https://arxiv.org/ftp/arxiv/papers/1008/1008.1459.pdf
- https://fr.slideshare.net/opencredo/haufe-msaday-the-actor-model-an-alternative-approach-to-concurrency-by-lorenzo-nicora
- implementation
- microsoft
- https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-actors-introduction
- https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/index
- https://docs.microsoft.com/en-us/previous-versions/microsoft-robotics/bb648752(v=msdn.10)
- https://docs.microsoft.com/en-us/previous-versions/microsoft-robotics/bb483056(v=msdn.10)
- https://docs.microsoft.com/en-us/previous-versions/visualstudio/visual-studio-2010/dd492627(v=vs.100)
Other Patterns
- Blackboard Pattern, https://en.wikipedia.org/wiki/Blackboard_(design_pattern)
- Business Delegate Pattern, https://en.wikipedia.org/wiki/Business_delegate_pattern
- Composite Entity Pattern, https://en.wikipedia.org/wiki/Composite_entity_pattern
- Dependency Injection, https://en.wikipedia.org/wiki/Dependency_injection
- Intercepting Filter Pattern, https://en.wikipedia.org/wiki/Intercepting_filter_pattern
- Lazy Loading Pattern, https://en.wikipedia.org/wiki/Lazy_loading
- Mock Objects Pattern, https://en.wikipedia.org/wiki/Mock_object
- Null Objets Pattern, https://en.wikipedia.org/wiki/Null_Object_pattern
- Object Pool Pattern, https://en.wikipedia.org/wiki/Object_pool_pattern
- Servant Pattern, https://en.wikipedia.org/wiki/Servant_(design_pattern)
- Twin Pattern, https://en.wikipedia.org/wiki/Twin_pattern
- Type-Tunnel Pattern, https://en.wikipedia.org/wiki/Type_Tunnel_pattern
- Game-Programming-Pattern, https://github.com/munificent/game-programming-patterns
Pattern-Oriented Software Architectures
- Layers Pattern
- Pipes And Filters Pattern
- Blackboard Pattern
- Broker Pattern
- Presenter First Pattern, https://en.wikipedia.org/wiki/Presenter_first_(software_approach)
- Action-Domain-Responder, https://en.wikipedia.org/wiki/Action–domain–responder
- Model-View-Controller Pattern, https://en.wikipedia.org/wiki/Model–view–controller
- Model-View-ViewModel (aka model–view–binder), https://en.wikipedia.org/wiki/Model–view–viewmodel
- Model-View-Presenter pattern, https://en.wikipedia.org/wiki/Model–view–presenter
- Model-View-Adapater pattern, https://en.wikipedia.org/wiki/Model–view–adapter
- Presentation-Abstraction-Control Pattern, https://en.wikipedia.org/wiki/Presentation–abstraction–control
- Hierarchical_model–view–controller Pattern, https://en.wikipedia.org/wiki/Hierarchical_model–view–controller
- Microkernel Pattern
- Reflection Pattern
- Whole-Part Pattern
- Master-Slave Pattern
- Proxy Pattern
- Command Processor Pattern
- View Handler Pattern
- Forwarder-Receiver Pattern
- Client-Dispatcher-Server Pattern
- Publisher-Subscriber Pattern
- NakedObjects, https://en.wikipedia.org/wiki/Naked_objects
People
- https://en.wikipedia.org/wiki/Christopher_Alexander
- https://en.wikipedia.org/wiki/Erich_Gamma
- https://en.wikipedia.org/wiki/Ralph_Johnson_(computer_scientist)
- https://en.wikipedia.org/wiki/John_Vlissideshttps://en.wikipedia.org/wiki/John_Vlissides
- https://en.wikipedia.org/wiki/Grady_Booch
- https://en.wikipedia.org/wiki/Kent_Beck
- https://en.wikipedia.org/wiki/Ward_Cunningham
- https://en.wikipedia.org/wiki/Martin_Fowler
- https://en.wikipedia.org/wiki/Robert_Cecil_Martin
- https://en.wikipedia.org/wiki/Jim_Coplien
- https://en.wikipedia.org/wiki/Douglas_C._Schmidt
- https://en.wikipedia.org/wiki/Linda_Rising
References
- http://archive.oredev.org/download/18.5bd7fa0510edb4a8ce4800019179/Bruce_Douglass_-_Realtime_design_Patterns.pdf
- https://en.wikipedia.org/wiki/The_Hillside_Group
- https://en.wikipedia.org/wiki/Portland_Pattern_Repository
- http://c2.com/cgi/wiki?WelcomeVisitors
- http://c2.com/cgi/wiki?HillsideGroup
- http://sourcemaking.com/
- http://shichuan.github.com/javascript-patterns/
- https://en.wikipedia.org/wiki/Design_Patterns
- https://en.wikipedia.org/wiki/Software_design_pattern
- http://www.javaworld.com/article/2078675/core-java/design-patterns--the-big-picture--part-2--gang-of-four-classics-revisited.html
- http://www.javabrahman.com/design-patterns/gof-gang-four-design-patterns/
- http://codingplayground.blogspot.it/2009/01/design-pattern
- http://www.tutorialspoint.com/design_pattern/design_pattern_tutorial.pdf
- https://csharpdesignpatterns.codeplex.com/
- http://www.codeproject.com/KB/architecture/#Design+Patterns
- https://msdn.microsoft.com/en-us/library/bb190165.aspx
- https://delphipatterns.codeplex.com/
Books
- Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides (Nov 10, 1994)
- Design Pattern Explained, A New Persective on Object-Oriented Design, Alan Shalloway, James Trott, Addison-Wesley, 1st Edition(July 9, 2001), 2nd Edition (October 22, 2004)
- Professional (July 9, 2001), and second edition
- Pattern-Oriented Software Architecture, Wiley, Vol 1 - 5
- Real-Time Design Patterns: Robust Scalable Architecture for Real-Time Systems, Bruce Powel Douglass, Addison Wesley (September 27,2002)
- Antipatterns, Identification, Refactoring, and Management, Philip A. Laplante, Clin J.Neill, Auerbach Publications (2006)
- Refactoring: Improving the Design of Existing Code, Martin Fowler, Kent Beck, John Brant, William Opdyke, don Roberts, Addison-Wesley Professional, 1 edition (July 8, 1999)
http://www.eventhelix.com/RealtimeMantra/Patterns/#.VuSjttwrKkA