设计模式内容汇总

此专题中包含7种设计原则,23种设计模式的介绍。

设计模式是一套快被写烂了的编码技巧。随便找找都能找到大量的书和博客。但是基本上都是用很大的篇幅来介绍设计模式的实现、优点、缺点等等。举的一些例子也是与实际开发基本不相干的例子。基于此,我才决定写一系列设计模式的博文,不仅要把设计模式的原理讲清楚,还要结合实际,找出实际的应用案例。如哪些设计模式用在了Spring框架或MyBatis框架中,在我的职业生涯中,哪些业务场景用了哪些设计模式解决。理论结合实践学习起来才最有效。

所以我将本系列博文命名为《设计模式实践》,在后续的文章中我将结合市面上的优秀的设计模式相关的书、国内外一些博主关于设计模式的文章以及AI来全面的分析设计模式原理及其应用,同时结合今后参与的项目,不断完善案例。给大家带一套有深度的设计模式文章。

设计原则

阅读更多

工厂方法模式(Factory Method Pattern)

概述

工厂方法模式(Factory Method Pattern)是一个对象创建型模式。它提供了一种将对象的创建逻辑抽象出来的方式,使得客户端代码不需要关心具体的对象创建细节,而是通过调用工厂方法来创建对象。这种模式有助于解耦对象的创建和使用,同时也提供了扩展和定制对象创建过程的灵活性。

在工厂方法模式中,通常会定义一个抽象工厂接口,其中包含一个用于创建产品对象的抽象方法。具体的产品类需要实现这个工厂接口,并提供自己的产品创建逻辑。客户端代码通过调用工厂方法来创建所需的产品对象,而无需关心具体的产品类。

定义

Define an interface for creating an object, but let subclasses decide which class to instantiate.
Factory Method lets a class defer instantiation to subclasses

定义一个用于创建对象的接口,让子类决定实例化哪一个类。 Factory Method使一个类的实例化延迟到其子类。

引用自《设计模式:可复用面向对象软件的基础》

说的更直白一点就是,定义一个工厂接口,将对象的实例化操作放到工厂的实现类中。

结构

$2DrinkDrinkFactorygetDrink(): DrinkMilkyTeaCocoDrinkFactorygetDrink(): DrinkCocaCocaDrinkFactorygetDrink(): Drink可口可乐Coco奶茶店生产MilkyTea可口可乐工厂生产Coca
阅读更多

简单工厂模式-Simple Factory Pattern

序言

简单工厂模式是一种非常常用的设计模式,但是并不属于GoF中的23种设计模式。简单设计模式有很多种实现方式。

本文我们就来讨论简单工厂模式的实现方式,以及如何借助Spring实现一个扩展性很好的简单工厂模式。

定义

  • creates objects without exposing the instantiation logic to the client.
  • refers to the newly created object through a common interface
  • 创建对象但是不想客户端暴露对象实例化的逻辑
  • 通过通用接口引用新创建的对象
阅读更多