软考准备之面向对象

设计模式

 

  1. 责任链模式:多个对象都有机会处理请求,从而避免发送者和接收者之间的耦合关系,将这些对象串成一个链传输请求,直到有一个对象处理之。
  2. 命令模式:请求封装一个对象,从而使得使用者可以采用不同的请求对客户进行参数化,对请求排队或者记录请求日志,支持撤销。
  3. 抽象工厂模式:提供一个创建一系列相关或相互依赖的对象接口,无需指定它们具体的类
  4. 观察者:模式定义对象间的一种一对多的依赖关系,当一个对象的状态发生更新,所有依赖对象都被更新。
  5. 原型:用原型实例创建对象种类,并通过拷贝这个原型来获得新的对象。
  6. 工厂方法:定义一个用于创建对象的接口,让子类决定将哪一个类实例化,是一个类的实例化延迟到其子类。(1.当一个类不知道她创建的对象的类的时候,2.当一个类希望她的子类来构造类的时候,
  7. 单例:只有一个对象实例(1.只能由一个众所周知的访问点访问)
  8. 桥接:将抽象部分与其实现部分进行分离,使他们都可以独立变化。
  9. 组合:将对象组合成树形结构以表示部分——整体结构,是的用户对于单个对象和所有对象具有一致性。
  10. 享元模式:细粒度有关
  11. 外观模式:定义一个高层接口,(应用1.为一个复杂的系统定义一个简单的子接口时,2.为了一个客户和子系统依赖性太大时候那么就用这种方式,构建一个层次子系统时。)
  12. 生成器模式:将一个复杂的对象构建并分离,同样的创建过程有不同的表示(1.当创建复杂的对象且独立于该对象的组成部分和装配模式时2.当构造必须允许有不同的表达方式时。)
  13. 中介者(Mediator)用一个中介对象米封装一系列的对象交互。中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。适用于:一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解;一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象;想定制一个分布在多个类中的行为,而又不想生成太多的子类。欲使一个后端数据模型能够被多个前端用户界面连接,采用中介者模式最合适。
    中介者(调解员)用一个中介对象米封装一系列的对象交互.中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互.适用于:一组对象以定义良好但是复杂的方式进行通信,产生的相互依赖关系结构混乱且难以理解;一个对象引用其他很多对象并且直接与这些对象通信,导致难以复用该对象;想定制一个分布在多个类中的行为,而又不想生成太多的子类.欲使一个后端数据模型能够被多个前端用户界面连接,采用中介者模式最合适.

      11.装饰器:以透明围栏来支持修饰类和对象的关系,动态的给一个对象添加一些额外的职责,以增加功能的角度看,比生成子类更灵活。常考!!!

2.类与类之间的关系

五种关系:依赖、关联、聚合、组合、继承。

依赖是最弱的关系,使用类库就算是一种依赖。

聚合和组合都是整体和部分的关系,组合的程度比聚合高

区别在于,整体对象消失时部分也随之消失那就是组合,如果整体消失部分对象仍然可以用那么就是聚合。

一个类中成员变量即对应属性,成员函数即对应方法。

面向对象分析————>理解问题不考虑解决(包含1.认定对象2.组织对象3.描述对象相互作用4.定义对象操作和内部信息

面向对象设计————>解决方案考虑细节问题

编译时绑定的是静态绑定,在运行时绑定的是动态绑定

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值