设计模式是面向对象开发中,软件工程的概念。分为创建型模式、结构型模式、行为型模式和J2EE模式。
创建型模式,创建对象的逻辑被隐藏。
J2EE模式,关注表示层。
设计模式6大原则:
开闭原则、里氏代换、依赖倒转原则、接口隔离原则、最少知道原则、合成复用原则
工厂模式(最常用)——在需要创建复杂对象的时候使用工厂模式,但是对于简单对象的创建,尤其是new一个实例的时候,不要使用工厂模式,因为使用工厂模式要引入工厂类,会增加系统的复杂度。简单的说,复杂对象往往有复杂的接口实现和继承情况,那么到底要实例化具体哪个类,创建的逻辑交由工厂类来完成。实例的话可以参考菜鸟教程。
单例模式——一个类只有一个实例,节约系统资源。
装饰器模式——JAVA的io使用了装饰器模式(参考)装饰器模式是一种特殊的代理。装饰器类继承被装饰类,定义一个被装饰类的成员变量,并把被装饰类注入到装饰器构造函数入参中,在重写的方法中,本质上还是调用的被装饰类(现在是成员变量)的方法。为什么装饰器类要继承被装饰类,是为了让装饰器类的子类(多个)可以重写被装饰类的方法。为什么装饰器类要定义被装饰类的成员变量,是为了让被装饰器类的子类(多个)注入装饰器。