设计模式-导论

设计模式 -- 可复用的面向对象软件元素
对接口编程而不是对实现编程
优先使用对象组合而不是继承

设计模式分类:创建型模式(5个)、结构型模式(7个)、行为型模式(11个)
设计模式的基石:封装、继承、多态、顺序、判断、循环

创建型模式:单例(Singleton)模式、原型(Prototype)模式、工厂方法(FactoryMethod)模式、
                      抽象工厂(AbstractFactory)模式、建造者(Builder)模式
结构型模式:代理(Proxy)模式、适配器(Adapter)模式、桥接(Bridge)模式、装饰(Decorator)模式、
        外观(Facede)模式、享元(Flyweight)模式、组合(Composite)模式、过滤器(Filter Pattern)模式
行为模式:模板方法(Template Method)模式、策略(Strategy)模式、命令(Command)模式、
                  职责链(Chain of Responsibility)模式、状态(State)模式、观察者(Observer)模式、
                  中介者(Mediator)模式、迭代器(Iterator)模式、访问者(Visitor)模式、
                  备忘录(Memento)模式、解释器(Interpreter)模式

设计模式的7大原则
1、开闭原则:对扩展开放,对修改关闭
2、里式替换原则:继承父类而不去改变父类
3、以来倒置原则:面向接口编程,而不是面向实现类
4、单一职责原则:每个类只负责自己的事情,而不是变成万能
5、接口隔离原则:每个类建立自己的专用接口,而不是建立万能接口
6、迪米特法则:无需直接交互的两个类,如果需要交互,使用中间者
7、合成复用原则:优先组合其次继承

创建型模式
创建型模式关注点:“怎样创建出对象?”
将对象的创建与使用分离
降低系统的耦合度
使用者无需关注对象的创建细节:
        对象的创建由相关的工厂来完成;(各种工厂模式)
        对象的创建由一个建造者来完成:(建造者模式)
        对象的创建由原来对象克隆完成;(原型模式)
        对象在系统中始终只有一个实例;(单例模式)


单例模式(Singleton)
一个单一的类,负责创建自己的对象,同时确保系统中只有单个对象被创建。
1、某个类只有一个实例(构造器私有)
2、它必须自行创建这个实例(自己编写实例化逻辑)
3、它必须自行向整个系统提供这个实例(对外提供实例化方法)
应用场景:
1、多线程中的线程池
2、数据库的连接池
3、系统环境信息
4、上下文(ServletContext)
5、枚举


原型模式(Prototye)
原型模式(Prototype Pattern)是用于创建重复的对象,又能保证性能
应用场景:
1、资源优化
2、性能和安全要求
3、一个对象多个修改者的场景
4、一个对象需要提供给其他对象访问,而且各个调用者可能都需要修改其值时可以考虑使用原型     模式拷贝多个对象供调用者使用
5、深拷贝(两个完全对象不一样的递归克隆)、浅拷贝(只是属性赋值)


工厂模式(Factory)
工厂模式(Factory Pattern)提供了一种创建对象的最佳方式。我们不必关心对象的创建细节,只需要根据不同情况获取不同对象即可。
1、简单工厂        2、工厂方法多态工厂        3、抽象工厂

猜你喜欢

转载自blog.csdn.net/qq_39940205/article/details/121804053
今日推荐