设计模式学习之路

来源:互联网 发布:电商运营 知乎 编辑:程序博客网 时间:2024/06/14 17:02

一、设计模式是什么

一些大牛针对特定的场景、重复出现的问题经过验证总结出来的解决方案,不是什么问题都能够解决!所以说设计模式不能泛滥的使用。

二、目的

站在巨人的肩膀上,快速走向架构师之路

三、23个设计模式


思考:各种模式使用场景?


四、简单工厂方法

提供一个创建实例的功能,无需关心具体实现。实例类型可以是接口,抽象类,具体的类。简单工厂的核心:选择实现(数据来源用户传入,配置,系统运行)


接口:提高系统的扩展性,提供一种可插拔的功能;

面向接口编程:分层和模块划分。层与层之间的交互通过接口调用;内部的模块之间的交互也是通过接口调用。

五、单例模式

1.单例模式分为饿汉和懒汉两种模式

2.保证了一个类只有一个实例,并提供了一个访问它的全局访问点,如果不同步是非线程安全的。

【恶汉式】:恶汉式由于虚拟机只加载一次,所以是线程安全的


【懒汉式】:懒汉式实现还体现了缓存的思想,缓存是一种典型的空间换时间的方案。


双重加锁创建单例。


双重加锁避免不必要的排队和在多线程操作下的正确操作

场景:读取配置文件

一般来说配置文件运行期间不修改,读取一次就可以。


六:工厂方法模式

工厂方法的主要功能是让父类在不知道具体实现的情况下,完成自身的功能调用,而具体实现延迟到子类来实现。

工厂方法的实现中,通常父类会是一个抽象类,里面包含创建所需要对象的抽象方法,这些抽象方法就是工厂方法。

抽象类:即要约束子类的功能,又要为子类提供公共的功能。

父类也可以是一个具体的类!


七:观察者模式

定义对象间的一对多的以来关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。



持续更新中。。。










原创粉丝点击