Day_18课程回顾——11.15要结束了(OOP)

了解设计模式吗?请至少写出4种名字。找其中一种用代码实现。并说出其优缺点。

工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

工厂方法模式:

优点:

在简单工厂中主函数或者客户端不再负责对象的创建,而是把这个责任交给工厂类,主函数或者客户端在使用对象的时候只从工厂中调用就行了,从而明确了各个类的职责,符合单一职责原则)

缺点

由于这个工厂类负责所有对象的创建,那么当子类增多时,我们就需要去修改工厂类的代码,这样呢,就违反了一个原则:开闭原则

抽象工厂模式:

优点:

解决了简单工厂模式的违反开闭原则

缺点

如果需要增加一个具体产品类角色,需要添加这个类和对应的工厂类。代码量大。

单例模式:

优点:

在单例模式中,活动的单例只有一个实例,对单例类的所有实例化得到的都是相同的一个实例。它可以保证我们不会重复创建,而是始终指向同一个对象,因此可以节约系统资源和保持全局状态。

缺点:

不适用于变化的对象,如果同一类型的对象总是要在不同的用例场景发生变化,单例就会引起数据的错误,不能保存彼此的状态。因此单例类的扩展有很大的困难

单例类的职责过重,在一定程度上违背了“单一职责原则”。

可能会被垃圾回收机制当做垃圾回收。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 设计模式汇总 一、基础知识 1. 设计模式概述 定义:设计模式(Design Pattern)是一套被反复使用、多...
    MinoyJet阅读 3,993评论 1 15
  • 创建型模式 抽象工厂模式(abstract facroty) 3.1模式动机 在工厂方法模式中具体工厂负责生产具体...
    僚机KK阅读 761评论 0 2
  • 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者...
    lichengjin阅读 911评论 0 8
  • 一、设计模式的分类 总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者...
    RamboLI阅读 775评论 0 1
  • 男人是怎样学坏的,值得一看. 十岁以前,就不说了,无非是淘气和不懂事。 十三、四岁的时候,开始对女孩有好感,但是那...
    我只是个大众脸阅读 636评论 0 2