Table of Contents
[TOC]
软件设计模式 Software design patterns
https://en.wikipedia.org/wiki/Software_design_pattern
https://en.wikipedia.org/wiki/Template:Design_Patterns_patterns
https://www.runoob.com/design-pattern/design-pattern-tutorial.html
分布式系统模式
创建型模式 Creational design patterns
抽象工厂模式 Abstract factory pattern
建造者模式 Builder pattern
依赖注入 Dependency injection(DI)
工厂方法模式 Factory method pattern
惰性初始模式 Lazy initialization
多例模式 Multiton pattern
对象池模式 Object pool pattern
原型模式 Prototype pattern
资源获取即初始化 Resource acquisition is initialization(RAII)
也称为“资源获取就是初始化”,是C++语言的一种管理资源、避免泄漏的惯用法。C++标准保证任何情况下,已构造的对象最终会销毁,即它的析构函数最终会被调用。简单的说,RAII 的做法是使用一个对象,在其构造时获取资源,在对象生命期控制对资源的访问使之始终保持有效,最后在对象析构的时候释放资源。
单例模式 Singleton pattern
结构型模式 Structural design patterns
适配器模式 Adapter pattern
桥接模式 Bridge pattern
组合模式 Composite pattern
装饰模式 Decorator pattern
委托模式 Delegation pattern
外观模式 Facade pattern
享元模式 Flyweight pattern
前端控制器模式 Front controller
标记接口模式 Marker interface pattern
模块模式 Module pattern
代理模式 Proxy pattern
孪生模式 Twin pattern
行为型模式 Behavioral design patterns
黑板模式 Blackboard (design pattern)
责任链模式 Chain-of-responsibility pattern
命令模式 Command pattern
解释器模式 Interpreter pattern
迭代器模式 Iterator pattern
备忘录模式 Memento pattern
空对象模式 Null object pattern
观察者模式 Observer pattern
雇工模式 Servant (design pattern)
规约模式 Specification pattern
状态模式 State pattern
策略模式 Strategy pattern
模板方法模式 Template method pattern
访问者模式 Visitor pattern
函数式编程 Functional programming
单位半群/幺半群 Monoid
仿函数(函数式编程) Functor (functional programming)
适用函子/实用仿函数 Applicative functor
单子(函数式编程) Monad (functional programming)
余单子 Comonad (functional programming)
自由单子 Free monad
高阶函数 Higher-order function(HOF)
柯里化 Currying
函数组合(计算机科学) Function composition (computer science)
闭包 Closure (computer programming)
生成器 Generator (computer programming)
并发型模式 Concurrency patterns
活动对象 Active object
角色模型 Actor model
阻行模式 Balking pattern
屏障(计算机科学) Barrier (computer science)
绑定属性模式 Binding properties pattern
协程 Coroutine
计算核 Compute kernel
双重检查锁定模式(双检锁) Double-checked locking
基于事件的异步模式 Event-based asynchronous/Asynchronous method invocation (AMI)/ 异步模式 asynchronous pattern
纤程 Fiber (computer science)
同步机制 Futex
未来与承诺 Futures and promises
保护性暂挂模式 Guarded suspension
不可变对象 Immutable object
联接模式 Join-pattern
锁 Lock (computer science)
通讯模式 Messaging pattern
监控(同步) Monitor (synchronization)
核能计算 Nuclear computation
前摄器模式 Proactor pattern
反应堆模式 Reactor pattern
读写器锁 Readers–writer lock
调度 Scheduling (computing)
软件事务性内存 Software transactional memory(STM)
线程池 Thread pool
线程本地存储 Thread-local storage
架构模式 Architectural pattern
Service locator pattern
Action–domain–responder(ADR)
https://www.jianshu.com/p/2eaa134a9fb8
活动记录模式 Active record pattern
经纪人模式 Broker pattern
客户-服务器模型 Client–server model
基于组件的开发 Component-based software engineering (CBSE) /components-based development (CBD)
数据访问对象 Data access object (DAO)
数据传输对象 Data transfer object(DTO)
领域驱动设计 Domain-driven design(DDD)
实体控制边界 Entity-Control-Boundary (ECB)/ Entity-Boundary-Control (EBC)/ Boundary-Control-Entity (BCE)
实体组件系统 Entity component system(ECS)
事件驱动架构 Event-driven architecture (EDA)
前端控制器 Front controller
身份映射模式 Identity map pattern
拦截模式 Interceptor pattern
隐式调用 Implicit invocation
控制反转 Inversion of control(IOC)
JSP模型2体系结构 JSP model 2 architecture(Model 2)
面向消息的中间件 Message-oriented middleware
微服务 Microservices
模型视图控制器 Model–view–controller(MVC)
模型–视图–演示者 Model–view–presenter (MVP)
模型–视图–视图模型 Model–view–viewmodel (MVVM)
整体应用 Monolithic application
多层架构 Multitier architecture
裸物 Naked objects
对象请求代理 Object request broker (ORB)
点对点 Peer-to-peer(P2P)
发布/订阅 Publish–subscribe pattern
表示抽象控制 Presentation–abstraction–control (PAC)
表征状态转移 Representational state transfer (REST)
面向服务体系结构 Service-oriented architecture (SOA)
服务定位模式 Service locator pattern
无共享架构 Shared-nothing architecture(SN)
空间架构 Space-based architecture (SBA)
规约模式 Specification pattern
云计算/分布计算 Cloud computing/Distributed computing/Cloud Design Pattern
大使模式 Ambassador pattern
反腐败层模式 Anti-Corruption Layer pattern
舱壁模式 Bulkhead pattern
缓存备用模式 Cache-Aside pattern
断路器的设计模式 Circuit breaker design pattern
查询与命令分离/命令查询的责任分离 Command–query separation (CQS)/Command Query Responsibility Segregation (CQRS)
补偿事务 Compensating transaction
消费者的竞争模式 Competing Consumers pattern
计算资源整合模式 Compute Resource Consolidation pattern
事件溯源模式 Event Sourcing pattern
外部配置存储模式 External Configuration Store pattern
联合身份模式 Federated Identity pattern
门卫模式 Gatekeeper pattern
数据库索引 Database index
领导者选举 Leader election
分布式计算系统 MapReduce
物化视图 Materialized view
管道 Pipeline (software)/pipes and filters design pattern
过滤 Filter (software)
优先队列模式 Priority Queue pattern
发布/订阅 Publish–subscribe pattern
基于队列的负载均衡模式 Queue-Based Load Leveling pattern
重试 Retry pattern
调度代理主管模式 Scheduler Agent Supervisor pattern
分片 Sharding/Shard (database architecture)/shard / database shard
边车模式 Sidecar pattern
扼杀者模式 Strangler pattern
节流过程 Throttling process (computing)
Valet Key pattern
https://blog.csdn.net/afandaafandaafanda/article/details/50114089
静态内容托管 Static Content Hosting Pattern
https://blog.csdn.net/afandaafandaafanda/article/details/50098551
其它 Other
业务代表模式 Business delegate pattern
复合实体模式 Composite entity pattern
拦截过滤器模式 Intercepting filter pattern
延迟加载 Lazy loading
预先加载 Eager loading
Mangler pattern
模仿 Mock object
隧道型模式 Type Tunnel pattern
方法链接 Method chaining
书籍 Books
Design Patterns
Enterprise Integration Patterns
Code Complete
Pattern-Oriented Software Architecture(POSA)
Java实战指南多线程编程(设计模式篇)
人员 People
Christopher Alexander
Erich GammaRalph Johnson
John Vlissides
Grady Booch
Kent Beck
Ward Cunningham
Martin Fowler
Robert Martin
Jim Coplien
Douglas Schmidt
Linda Rising
社区 Communities
The Hillside Group
The Portland Pattern Repository