【设计模式】新手入门笔记
来源:互联网 发布:淘宝买的东西下架了 编辑:程序博客网 时间:2024/06/01 10:51
今天老师要我们做一个跟C++简单工厂和静态工厂设计模式有关的习题,由此引出了【设计模式】这样一个概念。
要了解设计模式,首先要清楚设计模式是什么。
设计模式的中文定义是:设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。
简单来说,设计模式就是前人的经验总结,它保证了代码的可复用性和易理解性。不仅方便代码编写者去管理,还有利于后来的使用者去阅读和改写。
设计模式分为3个大类,共23中模式:
创建型模式:单例模式、抽象工厂模式、建造者模式、工厂模式、原型模式。
结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。
行为型模式:模版方法模式、命令模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、职责链模式(责任链模式)、访问者模式。
首先我们来了解【工厂模式】(下文节选自【黑山老妖:设计模式学习--工厂模式(Factory Pattern)】)
工厂模式被分为三类:
1.简单工厂:并非严格意义上的设计模式
2.工厂方法:定义了一个创建对象的接口,但是要由子类决定要实例化的类
3.抽象工厂:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类
面向对象的原则:
1.多用组合,少用继承;
2.针对接口编程,而非针对实现;
3.为交互对象之间的松耦合而努力;
4.类应该对扩展开放,对修改关闭;
5.依赖抽象,而不是具体类。
学习要点:
1.所有的工厂都是用来封装对象的创建;
2.简单工厂,虽然不是真正的设计模式,但仍不失为一个简单的方法,可以将客户程序从具体类解耦;
3.工厂方法使用继承:把对象的创建委托给子类;
4.抽象工厂使用对象组合:对象的创建被实现在工厂接口所暴露出来的方法中;
5.所有工厂模式都通过减少应用程序和具体类之间的依赖促进松耦合;
6.工厂方法允许类将实例化延迟到子类进行;
7.抽象工厂创建相关的对象家族,而不需要依赖他们的具体类;
8.依赖倒置原则,指导我们避免依赖具体类型,而要尽量依赖抽象;
9.工厂模式启发我们要针对抽象编程,而不要针对具体类编程。
- 【设计模式】新手入门笔记
- PCB设计新手入门须知
- UI设计新手入门须知
- LUA新手入门笔记
- nRF51822-新手入门笔记
- TensorFlow 教程 - 新手入门笔记
- 设计模式.笔记.外观模式
- 设计模式 笔记 观察者模式
- 设计模式笔记--策略模式
- 设计模式笔记--代理模式
- 设计模式笔记--观察者模式
- 《设计模式》笔记:状态模式
- 《设计模式》笔记: 访问者模式
- 设计模式笔记-工厂模式
- 设计模式笔记-原型模式
- 设计模式笔记-创建者模式
- 设计模式笔记-适配器模式
- 设计模式笔记-外观模式
- StringBuilder 使用方法
- POJ 2828-Buy Tickets(线段树单点更新-插队)
- PHPMailer发送邮件失败:SMTP connect failed
- 利用opencv3读取tensorflow model,对图像进行分类
- 详解 QT 父子与 QT 对象delete
- 【设计模式】新手入门笔记
- C++ Primier学习笔记2-虚函数
- 记录下我的第一篇博客
- 抓取手机数据网络的网络包(一)——安装adb,并pc连接手机
- css js实现3D魔方转动
- 543. Diameter of Binary Tree | 二叉树的“直径”
- C++类成员初始化列表
- 将tensorflow训练的model,转换为.pb格式的model
- Eclipse项目迁移为Android Studio项目步骤及注意事项