设计模式1
设计模式的六大原则:(叫建议)
1)单一职责
2)里氏替换
3)依赖倒置
4)最小接口
5)迪米特
6)开闭
设计模式:面向对象语言开发过程中,遇到的种种问题和场景,提出的解决方案和思路,沉淀总结(叫套路)
1,创建型设计模式:关注对象的创建
1)单例模式(结构最简单的):保证进程中,某个类只有一个实例
a)private 私有化,内部实现,只提供一个静态方法,起到对象重用。
b)公开的静态方法提供对象实例
c)全局唯一静态,重用这个变量
用途:数据临时存储的地方静态字典 / 数据库连接池 / 线程池 / IOC的容器实例(除非一定要用,否则不要用单例)
注意:单例不是解决线程冲突的!!!
2)原型模式:元素和对象一样,但是克隆一个对象(快速创建对象)MemberwiseClone()
3)三大工厂:
简单工厂:包一层,枚举
工厂方法:工厂可以增加一些逻辑,屏蔽对象实例化的复杂度,可以扩展(尤其是IOC)
抽象工厂:工厂+约束,多个对象,是一个整体
2,结构型设计模式:
3,行为型设计模式: