Summary

PatternUsed in/ forExample UsageBenefitsDrawbacks
LayersMUD to StructureOSI model, Windows NTReuse, Inter-changebility, Standardisation, localised dependenciesReduced efficiency, Cascading changes, finding right layer granularity
Pipes and FiltersMUD to Structure & Distributed SystemsUNIX, CMS Pipelines, Web appsReuse, Recombination, Parallelism, PrototypingPerformance, Error handling, Difficulty with shared state
BlackboardMUD to StructureHEARSAY-II, HASP, CrysalisExperimentation, Incremental Solution, Fault toleranceInefficiency, Complex testing, No guarantee of correct solution
BrokerDistributed SystemsCORBA, Web service, Microsoft OLE, IBM SOMLocation transparency, Language transparency, PortabilityReduced efficiency, Single point failure, Testing complexity
MVCInteractive SystemsSmalltalk, MFCMultiple Views, Pluggable Views, Separation of concernsComplexity, Excessive updates, Close coupling
PACInteractive SystemsNetwork ManagementSeparation of concerns, Multi-taskingReduced efficiency, Complexity, Control complexity
MicrokernalDistributed Systems & Adaptable SystemsMach, Windows NTPortability, Extensibility, ScalabilityPerformance overhead, Complexity
ReflectionAdaptable SystemsCLOS, CORBAAdaptability, Language independenceInstability, Debugging difficulty, Performance overhead
  • Refer to the patterns’ page to learn more about the usage, benefits and drawbacks