{"id":13556428,"url":"https://github.com/wilmerkrisp/patterns","last_synced_at":"2026-01-12T09:31:08.637Z","repository":{"id":55403871,"uuid":"163646284","full_name":"wilmerkrisp/patterns","owner":"wilmerkrisp","description":"Complete catalog of all classical patterns in the Archimate language","archived":false,"fork":false,"pushed_at":"2020-06-02T05:14:22.000Z","size":55837,"stargazers_count":134,"open_issues_count":1,"forks_count":53,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-11-04T06:34:49.384Z","etag":null,"topics":["archimate-language","architecture","book","ddd","ddd-architecture","ddd-patterns","diagram","domain-driven-design","patterns"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wilmerkrisp.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-12-31T06:47:46.000Z","updated_at":"2024-09-20T09:48:57.000Z","dependencies_parsed_at":"2022-08-14T23:31:14.678Z","dependency_job_id":null,"html_url":"https://github.com/wilmerkrisp/patterns","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerkrisp%2Fpatterns","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerkrisp%2Fpatterns/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerkrisp%2Fpatterns/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wilmerkrisp%2Fpatterns/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wilmerkrisp","download_url":"https://codeload.github.com/wilmerkrisp/patterns/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246984425,"owners_count":20864441,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["archimate-language","architecture","book","ddd","ddd-architecture","ddd-patterns","diagram","domain-driven-design","patterns"],"created_at":"2024-08-01T12:03:49.969Z","updated_at":"2026-01-12T09:31:08.622Z","avatar_url":"https://github.com/wilmerkrisp.png","language":null,"funding_links":[],"categories":["Others","others"],"sub_categories":[],"readme":"= patterns\nComplete catalog of all classical patterns in the Archimate language (ArchiTool used https://www.archimatetool.com)\nThis version includes all 155+ patterns completed (278+ models). Images also available.\n\n- Domain driven design patterns\n- Fowler's Analysis patterns\n- Fowler's Enterprise patterns\n- GoF classical Design patterns\n- Uncle Bob, Robert Martins patterns\n\nIt's great opportunity to use best practices in your micro service architecture\nAlso avialable at http://arch.expert.life/en/patterns\n\n== See huge examples inside book\n\nimage:example1.png[link=\"example1.png\"]\nimage:example2.png[link=\"example2.png\"]\n\n== Book avialable also with pdf\n\nimage:patternsbookcover.png[link=\"patterns.pdf\"]\n\n== Table of contents\n\n* DESIGN PATTERNS\n** CREATIONAL PATTERNS\n*** ABSTRACT FACTORY\n*** BUILDER\n*** FACTORY METHOD\n*** PROTOTYPE\n*** SINGLETON\n** STRUCTURAL PATTERNS\n*** ADAPTER OF CLASS\n*** ADAPTER OF OBJECT\n*** BRIDGE\n*** COMPOSITE\n*** DECORATOR\n*** FACADE\n*** FLYWEIGHT\n*** FLYWEIGHT + COMPOSITE\n*** PROXY\n** BEHAVIORAL PATTERNS\n*** CHAIN OF RESPONSIBILITY\n*** COMMAND\n*** INTERPRETER\n*** ITERATOR\n*** MEDIATOR\n*** MEMENTO\n*** OBSERVER\n*** STATE\n*** STRATEGY\n*** TEMPLATE METHOD\n*** VISITOR\n* ENTERPRISE PATTERNS\n** BUSINESS LOGIC\n*** DOMAIN MODEL\n*** SERVICE LAYER\n*** TRANSACTION SCRIPT\n*** TABLE MODULE\n** DATA SOURCES\n*** ACTIVE RECORD\n*** DATA MAPPER\n*** ROW DATA GATEWAY\n*** TABLE DATA GATEWAY\n** MODELING BEHAVIOR\n*** IDENTITY MAP\n*** LAZY LOAD\n*** UNIT OF WORK\n** MODELING STRUCTURE HIERARCHY\n*** CLASS TABLE INHERITANCE\n*** CONCRETE TABLE INHERITANCE\n*** INHERITANCE MAPPERS\n*** SINGLE TABLE INHERITANCE\n** MODELING STRUCTURE RELATIONS\n*** ASSOCIATION TABLE MAPPING\n*** DEPENDENT MAPPING\n*** EMBEDDED VALUE\n*** FOREIGN KEY MAPPING\n*** IDENTITY FIELD\n*** SERIALIZED LOB\n** METADATA\n*** METADATA MAPPING\n*** QUERY OBJECT\n*** REPOSITORY\n** WEB REPRESENTATION CONTROLLER\n*** MODEL VIEW CONTROLLER\n*** APPLICATION CONTROLLER\n*** FRONT CONTROLLER\n*** PAGE CONTROLLER\n** WEB REPRESENTATION VIEW\n*** TEMPLATE VIEW\n*** TRANSFORM VIEW\n*** TWO STEP VIEW\n** DISTRIBUTED PROCESSING\n*** DATA TRANSFER OBJECT\n*** REMOTE FAÇADE\n** PARALLEL PROCESSING\n*** COARSE-GRAINED LOCK\n*** IMPLICIT LOCK\n*** OPTIMISTIC OFFLINE LOCK\n*** PESSIMISTIC OFFLINE LOCK\n** SESSION STATE\n*** CLIENT SESSION STATE\n*** DATABASE SESSION STATE\n*** SERVER SESSION STATE\n** COMMON PATTERNS\n*** GATEWAY\n*** LAYER SUPERTYPE\n*** MAPPER\n*** MONEY\n*** PLUGIN\n*** RECORD SET\n*** REGISTRY\n*** SEPARATED INTERFACE\n*** SERVICE STUB\n*** SPECIAL CASE\n*** VALUE OBJECT\n* ANALYSIS PATTERNS\n** ACCOUNTABILITY\n*** PARTY\n*** ACCOUNTABILITY\n*** ORGANIZATION HIERARCHIES\n*** ORGANIZATION STRUCTURE\n*** ACCOUNTABILITY KNOWLEDGE LEVEL\n*** PARTY TYPE GENERALIZATIONS\n*** HIERARCHIC ACCOUNTABILITY\n*** OPERATING SCOPES\n*** POST\n** OBSERVATIONS AND MEASUREMENTS\n*** QUANTITY\n*** CONVERSION RATIO\n*** OBSERVATIONS AND MEASUREMENTS\n*** COMPOUND UNITS\n*** MEASUREMENT\n*** OBSERVATION\n*** SUBTYPING OBSERVATION CONCEPTS\n*** PROTOCOL\n*** DUAL TIME RECORD\n*** REJECTED OBSERVATION\n*** ACTIVE OBSERVATION, HYPOTHESIS, AND PROJECTION\n*** ASSOCIATED OBSERVATION\n*** PROCESS OF OBSERVATION\n** OBSERVATIONS FOR CORPORATE FINANCE\n*** ENTERPRISE SEGMENT\n*** MEASUREMENT PROTOCOL\n*** RANGE\n*** OBSERVATIONS FOR CORPORATE FINANCE\n*** PHENOMENON WITH RANGE\n*** REFERRING TO OBJECTS\n*** NAME\n*** IDENTIFICATION SCHEME\n*** OBJECT MERGE\n*** OBJECT EQUIVALENCE\n** REFERRING TO OBJECTS\n*** INVENTORY AND ACCOUNTING\n*** ACCOUNT\n*** TRANSACTIONS\n*** SUMMARY ACCOUNT\n*** MEMO ACCOUNT\n*** POSTING RULES\n** INVENTORY AND ACCOUNTING\n*** INDIVIDUAL INSTANCE METHOD\n*** POSTING RULE EXECUTION\n*** POSTING RULES FOR MANY ACCOUNTS\n*** CHOOSING ENTRIES\n*** ACCOUNTING PRACTICE\n*** SOURCES OF AN ENTRY\n*** BALANCE SHEET AND INCOME STATEMENT\n*** CORRESPONDING ACCOUNT\n*** SPECIALIZED ACCOUNT MODEL (BILLING EXAMPLE)\n*** SPECIALIZED ACCOUNT MODEL (INVENTORY EXAMPLE)\n*** BOOKING ENTRIES TO MULTIPLE ACCOUNTS\n** PLANNING\n*** PROPOSED AND IMPLEMENTED ACTION\n*** COMPLETED AND ABANDONED ACTIONS\n*** SUSPENSION\n*** PLAN\n*** PROTOCOL\n*** RESOURCE ALLOCATION\n*** PLANNING\n*** PLANNING (NO OUTCOME)\n*** OUTCOME AND START FUNCTIONS\n** TRADING\n*** CONTRACT\n*** PORTFOLIO\n*** QUOTE\n*** SCENARIO\n*** TRADING\n** DERIVATIVE CONTRACTS\n*** FORWARD CONTRACTS\n*** OPTIONS\n*** PRODUCT\n*** SUBTYPE STATE MACHINES\n*** PARALLEL APPLICATION AND DOMAIN HIERARCHIES\n*** DERIVATIVE CONTRACTS\n** TRADING PACKAGES\n*** MULTIPLE ACCESS LEVELS TO A PACKAGE\n*** MUTUAL VISIBILITY\n*** TRADING PACKAGES\n** LAYERED ARCHITECTURE FOR INFORMATION SYSTEMS\n*** TWO-TIER ARCHITECTURE\n*** THREE-TIER ARCHITECTURE\n*** PRESENTATION AND APPLICATION LOGIC\n*** DATABASE INTERACTION\n** TYPE MODEL DESIGN\n*** IMPLEMENTING ASSOCIATIONS\n*** IMPLEMENTING GENERALIZATION\n*** OBJECT CREATION\n*** OBJECT DESTRUCTION\n*** ENTRY POINT.\n*** IMPLEMENTING CONSTRAINTS\n* DOMAIN DRIVEN DESIGN\n** MODEL AND STRUCTURAL ELEMENTS\n*** MODEL-DRIVEN DESIGN\n*** LAYERED ARCHITECTURE (ASYMMETRIC )\n*** HEXAGONAL ARCHITECTURE (SYMMETRIC)\n*** COMPOSITE UI\n*** ENTITIES\n*** VALUE-OBJECTS\n*** DOMAIN SERVICES\n*** MODULES\n*** AGGREGATES\n*** AGGREGATE ROOT\n*** BEHAVIOR‐FOCUSED AGGREGATE ROOT\n*** MODIFY AND COMMIT ONLY ONE AGGREGATE INSTANCE IN ONE TRANSACTION\n*** PROTECT BUSINESS INVARIANTS INSIDE AGGREGATE BOUNDARIES\n*** REFERENCE OTHER AGGREGATES BY IDENTITY ONLY\n*** FACTORIES\n*** REPOSITORIES\n** SUPPLE DESIGN\n*** UBIQUITOUS LANGUAGE\n*** INTENTION-REVEALING INTERFACES\n*** SIDE-EFFECT FREE FUNCTIONS\n*** ASSERTIONS\n*** CONCEPTUAL CONTOURS\n*** STANDALONE CLASSES\n*** CLOSURE OF OPERATIONS\n** MODEL INTEGRITY AND CONTEXT\n*** BOUNDED CONTEXT\n*** CONTINUOUS INTEGRATION\n*** STRATEGIC CONTEXT MAP\n*** CONTEXTUAL MAP\n*** SHARED KERNEL\n*** CUSTOMER-SUPPLIER TEAMS\n*** CONFORMIST\n*** ANTICORRUPTION LAYER\n*** SEPARATE WAYS\n*** OPEN HOST SERVICE\n*** PUBLISHED LANGUAGE\n** DISTILLATION\n*** CORE DOMAIN\n*** GENERIC SUBDOMAINS\n*** DOMAIN VISION STATEMENT\n*** HIGHLIGHTED CORE\n*** COHESIVE MECHANISMS\n*** SEGREGATED CORE\n*** ABSTRACT CORE\n** LARGE-SCALE STRUCTURE\n*** EVOLVING ORDER\n*** SYSTEM METAPHOR\n*** RESPONSIBILITY LAYERS\n*** KNOWLEDGE LEVEL\n*** PLUGGABLE COMPONENT FRAMEWORK\n** ADDITIONAL PATTERNS\n*** TYPES OF CONSISTENCY\n*** EVENT SOURCING\n*** EVENT PROCESSOR\n*** EVENT DISPATCHER\n*** INTERNAL DOMAIN EVENTS\n*** EXTERNAL DOMAIN EVENTS, TRANSFER BETWEEN CONTEXTS\n*** STATIC DOMAIN EVENTS CLASS\n*** ONE SUBDOMAIN PER BOUNDED CONTEXT\n*** THE APPLICATION LAYER COORDINATES THE WORK BETWEEN CONTEXTS\n*** THE SAME PHYSICAL ENTITY IN DIFFERENT CONTEXTS\n*** INTEGRATION OF BOUDED CONTEXTS THROUGH DATABASE\n*** INTEGRATION OF BOUDED CONTEXTS THROUGH FLAT FILES\n*** INTEGRATION OF BOUDED CONTEXTS THROUGH ENTERPRISE SERVICE BUS\n*** INTEGRATION OF BOUDED CONTEXTS THROUGH MESSAGE QUEUE\n*** DEPENDENCY INJECTION\n*** DEPENDENCY INVERSION\n*** INVERSION OF CONTROL\n*** SERVICE LOCATOR\n*** CQRS\n*** CQS\n*** WRAP LOW-LEVEL EXCEPTIONS\n*** EXTRACT DEPENDENCY FROM INTERFACE TO COSNTRUCTOR\n*** INTERFACE SEGREGATION\n** CLEAN ARCHITECTURE\n\n\n== Architecture with JArchitect\nimage:https://www.jarchitect.com/assets/img/transparentlogo.png[\"JArchitecture\",width=170,link=\"http://www.jarchitect.com\"]\nArchitecture diagrams is also presented for comparison (coming soon!), built with JArchitect. Thanks to Codegears / CppDepend for the JArchitect.\n\n== Architecture with Structure101\nimage:http://structure101.com/images/s101_170.png[\"Structure101\",width=170,link=\"http://www.Structure101.com\"]\nArchitecture diagrams is also presented for comparison, built with Structure101 Studio. Thanks to Structure101 for the Studio/Workspace.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilmerkrisp%2Fpatterns","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwilmerkrisp%2Fpatterns","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwilmerkrisp%2Fpatterns/lists"}