1 设计模式的介绍
1.1 介绍
经验总结的产物
1.2 优点
强壮、可拓展、灵活
1.3 原则(SOLID)
s[single]:单一职责
o[open&close]:开闭原则。对新增代码开放,对修改代码封闭
l[Liskov Substitution principle]:里氏替代原则。子类和父类之间的关系。子类中不要去覆盖父类的方法;如果我一定要去覆盖,父类中的方法写为抽象方法
i[interface]:接口隔离原则,避免去写大接口 粒度
d[dependency]:依赖倒置原则
2 具体的设计模式
2.1 单例设计模式(singleton)
2.1.1 什么是单例
应用程序运行过程中,获得某一个类型的实例的时候,获得的始终是同一个
2.1.2 线程不安全的懒加载
2.1.3 线程安全的懒加载单例
synchronized
效率
2.1.4 懒加载和立即加载
懒加载:需要的时候就加载
立即加载:马上加载
时间:获得实例方法
懒加载:当我们去调用到获得实例方法的才进行加载
立即加载:在我们获得实例之前已经完成加载
2.1.5 线程安全的立即加载
2.1.6 线程安全的懒加载(内部类)
2.2 工厂设计模式(Factory)
XXXFactory → 工厂 → 生产实例
2.2.1 简单工厂
提供一个参数,根据提供不同的参数,返回的实例则不同
2.3 代理设计模式
2.4 建造者设计模式
3 快捷键
shift + enter:快速另起一行
ctrl + shift + enter:补充当前行代码