设计模式之应用

一、基本概念

1、Smalltalk:第二个面向对象的语言,和第一个真正的集成开发环境(IDE)

2、面向对象的特点(抽象):封装(封装变化区域,从而更容易地将代码与变化产生的影响隔离开来)、继承、多态

3、设计模式的原则:单一职责原则、开放-封闭原则、依赖倒转原则、里氏代换原则、合成聚合复用原则、迪米特原则

4、结构化编程的好处:把代码分割成多个模块,增强了代码的复用性,方便了调试和修改,但是结构也相对复杂

5、面向对象编程对象特点:可维护、可扩展、可复用、灵活性好

6、耦合性:描述的是一个例程与其他例程之间联系的紧密程度。内聚性:描述的是一个例程内部组成部分之间相互联系的紧密程度。软件开发要求高内聚低耦合

二、应用

1、抽象工厂:抽象工厂可以解决多个类型产品的创建问题

2、单例:一个全局变量可以使得一个对象被访问,但它不能防止客户实例化多个对象,单例模式让类自身负责保存它的唯一实例,这个类可以保证没有其他的实例可以被创建,并且还提供了一个访问该实例的方法

3、原型:DataSet调用原型模式的Clone就可以解决数据结构的复制问题,Copy不但复制了结构连数据也都复制了

4、建造者:讲一个复杂对象的构建与它的表示分离(建造顺序相同,但是产品内部细节不同),用同样的构建过程创建不同的产品

5、工厂方法:工厂方法开始,当需要更大的灵活性时,设计便会向其他创建性模式演化。工厂方法使得增加新产品时,不需要更改原有的产品体系和工厂类只需要扩展新的类就可以

6、桥接:通过解耦,用聚合来代替继承,通过对象的组合方式,把两个角色之间的继承关系改变为组合的关系,从而使这两者独立的变化(找出变化并封装)

7、适配器:访问不同的数据库时,使接口不同的类通过适配器后协作,解决两个已有接口之间的不匹配问题

8、装饰:以动态、透明的方式给单个对象添加职责

9、组合:客户可以一致的使用组合结构和单个对象。任何用到基本对象的地方都可以使用组合对象

10、外观:如果两个类不必彼此直接通信,那么就不要让这两个类发生直接的相互作用,如果实在需要调用可以通过第三者来转发调用,为子系统提供一个单一而简单的屏障。

11、享元:减少很多对象使得内存开销过大的问题

12、代理:代理对象代表一个单一对象而外观,代理的客户对象无法直接访问目标对象,由代理提供对单独的目标对象的访问控制,代理是原来对象的代表,其他需要与这个对象打交道的操作都是和这个代表交涉。

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值