掌握这9种设计模式,写出更好的代码
设计模式对于web开发者来说非常重要,掌握它们可以让我们写出更好的代码。根据模式的目的,GoF(四人帮)设计模式可以分为以下三种类型:
-
行为类:策略、模板方法、观察者等
-
创建类:单例、工厂、构建器、原型等
-
结构化类:适配器、代理、装饰器、门面等
在这篇文章中,我将介绍9个非常有用的设计模式,首先让我介绍一下行为类模式。
行为类
策略模式
当系统需要动态地从几个算法中选择一个时,每个算法都可以封装到策略类中。
责任链模式
责任链模式是一种通过给多个对象处理请求的机会来避免请求发送方和接收方耦合的方法。在责任链模式中,许多对象通过引用连接到下一个对象,形成一个链。请求沿着链传递,直到链中的某个对象决定处理请求。
模板方法模式
算法的整体步骤非常固定,但当个别部分是可变的时,此时可以使用模板方法模式来抽象易变部分,以便子类实现。
观察者模式
观察者模式定义了一对多的关系,允许多个观察者对象同时监视一个主对象。当主对象的状态发生变化时,所有观察者对象将被通知,以便它们可以自动更新。
创建类
建造者模式
构建器模式将复杂对象分解为相对简单的部分,然后根据不同的需求分别创建它们,最后构建复杂对象。
简单工厂模式
简单工厂模式也称为静态方法模式,因为在工厂类中定义了一个静态方法来创建对象。简单工厂允许用户在不知道特定参数的情况下创建所需的“产品”类,即用户可以在不知道产品的具体生产细节的情况下直接消费产品。
工厂方法模式
在工厂方法模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类负责生成特定的产品对象,这样做的目的是将产品类的实例化延迟到工厂子类,即通过工厂子类来确定应该实例化哪个特定的产品类。
抽象工厂模式
抽象工厂模式提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们的具体类。
结构化类
适配器模式
系统需要使用现有的类,而该类的接口不满足系统的需求,即接口不兼容。
欢迎关注公众号:文本魔术,了解更多