【设计模式】新手入门笔记
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
,而不要针对具体类编程。
要了解设计模式,首先要清楚设计模式是什么。
设计模式的中文定义是:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
简单来说,设计模式就是前人的经验总结,它保证了代码的可复用性和易理解性。不仅方便代码编写者去管理,还有利于后来的使用者去阅读和改写。
设计模式分为3个大类,共23中模式:
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
首先我们来了解【工厂模式】(下文节选自【黑山老妖:设计模式学习--工厂模式(Factory Pattern)】)
工厂模式被分为三类:
1.简单工厂:并非严格意义上的设计模式
2.工厂方法:定义了一个创建对象的接口,但是要由子类决定要实例化的类
3.抽象工厂:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类
面向对象的原则:
1.多用组合,少用继承;
2.针对接口编程,而非针对实现;
3.为交互对象之间的松耦合而努力;
4.类应该对扩展开放,对修改关闭;
5.依赖抽象,而不是具体类。
学习要点:
1.所有的工厂都是用来封装对象的创建;
2.简单工厂,虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类解耦;
3.工厂方法使用继承:把对象的创建委托给子类;
4.抽象工厂使用对象组合:对象的创建被实现在工厂接口所暴露出来的方法中;
5.所有工厂模式都通过减少应用程序和具体类之间的依赖促进松耦合;
6.工厂方法允许类将实例化延迟到子类进行;
7.抽象工厂创建相关的对象家族,而不需要依赖他们的具体类;
8.依赖倒置原则,指导我们避免依赖具体类型,而要尽量依赖抽象;
9.工厂模式启发我们要针对抽象编程
4000
,而不要针对具体类编程。
相关文章推荐
- 给新手朋友 推荐几本书(从C#入门到SQL及设计模式)
- headFirst学习笔记之一:设计模式入门(4.28)
- 《Head First 设计模式》学习笔记一:设计模式入门
- Head First 设计模式笔记--入门
- 1.设计模式入门(Head First 设计模式复习笔记)
- 设计模式入门笔记
- 新手的入门-设计模式一[玩玩策略吗?]
- Appium+Python+PO 设计模式 入门笔记
- 《Head First设计模式》笔记————设计模式入门
- 架构师入门笔记四 初识多线程设计模式
- 给新手朋友 推荐几本书(从C#入门到SQL及设计模式)
- 设计模式笔记之一:MVP架构模式入门(转)
- 设计模式学习笔记之设计入门
- 设计模式入门--设计模式学习笔记<一>
- 新手的入门-设计模式二[一块开工厂把~]
- Struts+Hibernate模板开发笔记---设计模式:单例
- 设计模式的两个原则——《C# Design Patterns》笔记(一)
- 设计模式笔记
- 设计模式学习笔记(一)
- Struts+Hibernate模板开发笔记---设计模式:MVC