工厂模式: 定义一个用于创建对象的接口,但是让子类决定实例化哪个类,是一个类的实例化延伸到子类.
单例模式: 确保一个类只有一个实例,并提供一个全局访问点
抽象工厂模式: 提供一个创建一系列相关或互相依赖对象的接口,而无需指定其具体类
建造者模式: 讲一个复杂对象接口与其表示分离,是的同样的构建过程创建不同的表示
代理模式: 通过引入一个代理对象来对原始对象进行访问,代理对象充当了客户端和目标对象之间的中介,客户端通过代理对象访问目标对象,从而实现了对目标对象的间接访问。
有点,可以隐藏真实对象的实现细节,降低了耦合度
可以实现延迟加载
也可以在真实对象前后进行一些额外操作,比如控制权限,缓存.