系统架构设计模式大全
Active Object:为了减少服务器并发线程应用。
Monitor Object:解决并发业务相互协调的问题。
Guarded Suspension:在并发性程序中,当某个线程对一个资源进行访问的时候,首先需要判断这个资源的警戒条件是否成立。
Future:并发调用的服务可能需要向客户端返回结果。
Thread-Safe Interface:避免自死锁和加锁开销。
Strategized Locking:在创建或声明时,为组件配置适当类型的锁实例。使用该锁实例来保护组件中的所有临界区。
Scoped Locking:解决复杂繁琐代码中的疏忽发生漏释放造成死锁的问题。
Thread-Specific Storage:解决频繁使用对象造成反复加锁解锁造成的性能问题。
Copied Value:解决共享的值对象必须锁定带来的性能问题。
Immutable Value:解决共享的值对象必须锁定带来的性能问题。
Observer:定义一个特定的更新接口,通过该接口,Observer获得Subject状态变更的通知。
Double Dispatch:根据运行时多个对象的类型确定方法调用的过程。
Mediator:封装集合中所有对象的聚合协作行为,从而将这些对象解耦合。
Command:为这些对象定义一个通用接口,来执行它们所代表的请求。
Memento:解决在不破坏封装性的前提下正确存储和读取分布式对象状态的问题。
Context Object:解决在松耦合系统中共享与程序执行上下文相关的通用信息的问题。
Data Transfer Object:解决细粒度调用多次访问远程对象单个属性所带来的巨大开销问题。
Message:解决网络协议只支持比特流这种最简单的数据传输形式,并不能识别服务调用和数据类型的问题。
Bridge:解决在下层稳定的业务中嵌入上次变化部分的问题。
Object Adapter:解决接口变化导致的不兼容问题。
Chain of Responsibility:解决对象结构和请求分发逻辑上的变化影响到客户端的问题。
Interceptor:解决构建一个可插拔的框架变化模型的问题。
Visitor:解决将服务的实现分散在定义对象结构的各个类中难以进行集中处理的问题。
Decorator:解决在稳定的核心功能外围添加扩展的问题。
Template Method:解决在下层稳定的业务中嵌入上次变化部分的问题。
Strategy:解决在一个或多个方法中根据不同的情况执行不同行为的问题。
Wrapper Facade:主要解决应用代码使用底层API所提供的服务但代码难以理解的问题,需要对底层API进行面向对象的封装,通过提供一个简洁的、健壮的、可移植的、内聚的面向对象的接口,来达到封装函数和数据的目的。
Declarative Component Configuration:建立需要安装各类插件的'宿主基础设施,使其能够正确管理运行时环境,可靠运用系统资源和服务的问题。
Container:解决领域对象直接处理平台环境造成它与平台紧密耦合并增加实现的复杂性的问题。
Component Configurator:解决在组件生命周期后期和升级时重新配置组件的问题。
Object Manager:解决客户端依赖对象管理增加应用内部的耦合度和复杂度的问题。
Virtual Proxy:解决从一个巨大数据库中把所有的对象全部加载进来消耗大量资源的问题。
Resource Pool:解决获取和释放资源(网络连接、线程或者内容)引入一定的性能开销问题。
Resource Cache:解决几个有限的资源用户频繁创建和释放资源带来不必要的性能开销问题。
Automated Garbage Collection:解决不能及时将不再使用的内存收回可能耗尽内存的问题。
Counting Handles:解决确保在堆上创建的共享对象能够可靠地、安全地、及时地回收的问题。
Abstract Factory:解决一批对象用统一的方法进行创建和销毁的问题。
Builder:解决对需要多步完成对象的创建时,简化创建过程的复杂性和多样性问题。
Factory Method:解决直接创建对象可能导致代码的混乱并影响调用端代码的独立性问题。
Disposal Method:解决销毁对象时可能需要多个步骤而引人过度的耦合问题。
Database Access Layer:它通过在两种之间引人一个映射层将面向对象应用设计同关系型数据库分离开。
Data Mapper:解决数据模型和持久化的表结构之间完全的解耦合的问题。
Row Data Gateway:解决更细致的数据模型和持久化的表结构之间完全解耦的问题。
Table Data Gateway:解决更细致的数据模型和持久化的表结构之间完全解耦的问题。
Active Record:解决降低应用中面向对象数据模型与数据库中表结构之间的耦合的问题。
【系统架构设计模式大全】相关文章: