您的位置:首页 > 其它

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

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

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

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

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

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

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

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

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

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

工厂模式被分为三类:

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

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

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

面向对象的原则:

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

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

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

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

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

学习要点:

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

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

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

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

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

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

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

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

9.工厂模式启发我们要针对抽象编程
4000
,而不要针对具体类编程。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: