赞
踩
1.MVC架构模式和MVP架构模式
简单来说就是显示、逻辑、和数据分离,两种模式的主要区别在于数据层能否直接和显示层进行交互。
2.B/S(瘦客户端)和C/S(胖客户端)
一般主要是指web和客户端之间的区别,主要体现在是否有大量的数据和运行支撑在你的本地环境上。
3.简单工厂模式
定义一个类,这个类被称为工厂,你想要什么类型的指针,告诉它,它给你去生产一个对象给你用。一个工厂生产N个类型的对象。
导致的后果就是,想要工厂生产新的对象,你就得修改工厂,破坏了工厂的闭合。
4.工厂模式
定义一个工厂基类,想生产哪种类型的对象,就再从工厂基类上继承一个工厂子类,N个工厂生产N个类型的对象。保持了工厂的闭合,但是增加一个生产对象你就得增加一个工厂。
5.抽象工厂模式
工厂模式跟简单工厂模式结合了一下。定义工厂基类,每个工厂子类生产拥有共同基类的产品子类对象。每个工厂子类生产N个类型的对象,但有不止一个工厂子类。添加一类产品是闭合的,但是对于某一类产品添加具体的产品是开放的。
6.策略模式
类内声明一个策略基类,往里传这个策略基类的子类对象。调用的时候就是调用的你想要的那个策略子类方法了。作用就是你自己类结构不变的情况,能够通过传入的策略子类对象来实现不同的功能。(直接用回调函数不香吗?)
7.适配器模式
有些祖传代码不敢动,你就在这些代码的接口上再包一层,比如说你有个C++的项目返回值是vector,但你现在是在Qt环境下,想要QVector的返回值,你就包一层把vector转换成QVector来去适配你现在的代码,反正我是这么用的。
8.单例模式
程序周期里面只允许存在一个实例,方法就是私有化构造函数,根据需求也可以私有化拷贝构造等拷贝相关的函数。开放一个接口返回给调用方一个内部已经声明好的实例。懒汉模式跟饿汉模式就不说了,字面意思。
9.原型模式
个人感觉就是手写深拷贝。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。