设计模式

设计模式: 什么是设计模式:为了解决特定问题而提出的较通用的解决方案 门面模式:系统通过门面对象,向外界提供粗粒度的业务接口,客户端通过门面对象访问系统,不需要了解系统的内部细节 粒度:对象的相对大小,或提供的宽度(对外提供了业务流程的总结接口) 工厂模式:由工厂对象来实现对象的创建;好处,当扩展时没必要修改引用类的代码 a.简单工厂:一个工厂负责创建所有对象 b.工厂方法:一种对象由一种工厂创建 单例模式:系统中你需要获得某个类的唯一实例(内存中只维护一个实例) a.懒汉式:有线程安全问题,创建的对象可能不止一次,但只有一个被维护, 其余将会被gc,解决的方法是在静态方法前加synchronized b.饥饿式 组合模式:描述对象之间整体与部分之间的关系,需使用一个接口装配接口下的单纯元素与复合元素 eg:java.awt.Component的 Container 与java.io.File下的文件与目录 观察者模式:当主题的状态发生改变的时候,需通知其它对象类 eg:java.awt的事件处理机制,数据库的缓存池维持的实例数目 策略模式:从多个相似的算法中选择一个 eg:java.awt中的布局管理器 mvc模式:解决模型层与视图层的耦合问题 m:观察者模式? v:组合/聚合模式? c:策略模式? 状态模式:与策略模式类似,对象的行为依赖与其状态,对象必须根据其状态选择不同的行为方式 * 状态模式提供依赖的是其自身的状态,策略模式由一个类控制实现哪一个算法 委托:客户端通过委托类间接调用被委托类的方法,委托类可附加一些操作来为客户端服务 代理:本质上也是一种委托模式,被委托类与委托类都实现同一个接口,客户端不区分被委托类和委托类

你可能感兴趣的:(设计模式,c,算法,数据库,mvc,扩展)