GoConqr has a new look! Let us know what you think.

Flashcards

Patterns

David Abel Design Patterns Master English 58 cards

Cards in this deck (58)

  1. 1IteratorAccess all elements of arbitrary collections in the same way
  2. 2AdapterWrap around a class to make it compatible to another interface
  3. 3FacadeProvide a higher-level interface to a system
  4. 4DecoratorExtend the functionality of an object, while maintaining the same interface
  5. 5ProxyProvide a placeholder for another object to control it
  6. 6LayersSplit your system into layers based on abstraction level
  7. 7BrokerManage dynamic communication between clients and servers in distributed systems
  8. 8Pipes & FilesForm a sequence of processing steps using a common interface
  9. 9Master-SlaveDistribute work amongst some helpers
  10. 10Client-ServerLet clients send requests to servers which answers with responses
  11. 11Factory MethodDelegate the creation of objects to someone else
  12. 12Abstract FactoryCreate whole families of related objects
  13. 13BuilderSplit up creation into multiple steps
  14. 14SingletonAllow only one instance of an object
  15. 15PrototypeCreate objects by cloning from templates
  16. 16MementoStore & Load the internal state of an object
  17. 17StateChange object behaviour depending on situation
  18. 18FlyweightShare a global state and vary differences only when needed
  19. 19VisitorAdd behaviour on aggregates of different objects
  20. 20StrategySubstitute behaviour later
  21. 21CommandEncapsulate a request. Decouple invocation from execution.
  22. 22CompositeHandle different granularities of objects uniformly
  23. 23Template-MethodDefine methods and let children implement the behaviour
  24. 24MediatorMediate communication between multiple objects
  25. 25BridgeDecouple abstractions from implementations
  26. 26BlackboardCollaborate on common data to get the best solution
  27. 27MicrokernelRoute requests to the responsible components
  28. 28Messaging FamilyPack information in messages and send these messages between components
  29. 29MessagesEncapsulate information in a standardized way
  30. 30Message EndpointProvide functionality to send and receive messages
  31. 31Request-ResponseAnswer every request with a response message
  32. 32Message TranslatorTranslate between different message formats
  33. 33Message Router / Message QueuesTransmit messages to the right receiver
  34. 34Message BusProvide a common communication platform which can be used to send and receive messages
  35. 35RequestorSend generic requests and arguments
  36. 36ObserverInform registered observers about changes
  37. 37LocksEnsure mutual exclusive access to some resource
  38. 38Scoped-LockingUse language scope semantics for acquiring and releasing locks
  39. 39Double checked lockingCheck twice to ensure conditions
  40. 40MonitorSynchronize method calls to an object
  41. 41FutureSupply a placeholder for future results
  42. 42Active-ObjectEncapsulate method invocation and execute asynchronously
  43. 43Thread-Specific StorageStore separate data instances for each thread
  44. 44Async / AwaitExecute functions cooperatively in an event loop
  45. 45Lazy AcquisitionDefer acquisition of resources to time of actual usage
  46. 46Eager AcquisitionAcquire resources in advance
  47. 47Partial AcquisitionAcquire resource in parts. Only use the part which is currently needed.
  48. 48Caching & PoolingSave resources for later reuse
  49. 49LeasingSet expire-timeout for resources
  50. 50Garbage CollectorMaintain reference-graph of objects and delete unreachable branches
  51. 51Chain of ResponsibilityForward a call until an object can handle it.
  52. 52Counted Pointer / Smart Pointer / ...Count references and call destructor when no one is using the object anymore
  53. 53Interpreter / Abstract Syntax TreeRead expressions one after another and build a tree of expressions
  54. 54Are Design Patterns invented?No, they are found.
  55. 55What is a pattern?A proven solution for a recurring problem.
  56. 56Types of Design PatternsArchitectural Patterns, Design Patterns, Idioms
  57. 57Pattern formatName, Context, Problem, Forces, Solution, Consequences, Known uses
  58. 58Principles of good programmingDecomposition, Abstraction, Decoupling, Usability & Simplicity

Information

Description
Master Design Patterns Flashcards on Patterns, created by David Abel on 20/01/2023.
Created by
David Abel
Views
17
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?