【设计模式】新手入门笔记

    xiaoxiao2021-04-18  50

    今天老师要我们做一个跟C++简单工厂和静态工厂设计模式有关的习题,由此引出了【设计模式】这样一个概念。

    要了解设计模式,首先要清楚设计模式是什么。

    设计模式的中文定义是:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。

    简单来说,设计模式就是前人的经验总结,它保证了代码的可复用性和易理解性。不仅方便代码编写者去管理,还有利于后来的使用者去阅读和改写。

    设计模式分为3个大类,共23中模式:

    创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。

    结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。

    行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。

    首先我们来了解【工厂模式】(下文节选自【黑山老妖:设计模式学习--工厂模式(Factory Pattern)】

    工厂模式被分为三类:

    1.简单工厂:并非严格意义上的设计模式

    2.工厂方法:定义了一个创建对象的接口,但是要由子类决定要实例化的类

    3.抽象工厂:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类

    面向对象的原则:

    1.多用组合,少用继承;

    2.针对接口编程,而非针对实现;

    3.为交互对象之间的松耦合而努力;

    4.类应该对扩展开放,对修改关闭;

    5.依赖抽象,而不是具体类。

    学习要点:

    1.所有的工厂都是用来封装对象的创建;

    2.简单工厂,虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类解耦;

    3.工厂方法使用继承:把对象的创建委托给子类;

    4.抽象工厂使用对象组合:对象的创建被实现在工厂接口所暴露出来的方法中;

    5.所有工厂模式都通过减少应用程序和具体类之间的依赖促进松耦合;

    6.工厂方法允许类将实例化延迟到子类进行;

    7.抽象工厂创建相关的对象家族,而不需要依赖他们的具体类;

    8.依赖倒置原则,指导我们避免依赖具体类型,而要尽量依赖抽象;

    9.工厂模式启发我们要针对抽象编程,而不要针对具体类编程。

    转载请注明原文地址: https://ju.6miu.com/read-674744.html

    最新回复(0)