![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 90
一码归一码@
为我引杯添酒饮,与君把箸击盘歌
展开
-
23种策略模式之策略模式
在软件开发中,设计模式是为了解决常见问题而提供的一套可重用的解决方案。策略模式(Strategy Pattern)是其中一种常见的设计模式,它属于行为型模式。该模式的核心思想是将不同的算法封装成独立的策略类,使得它们可以相互替换,而不影响客户端的使用。策略模式与其他设计模式有一些明显的区别。与模板方法模式相比,策略模式强调算法的灵活性,允许在运行时切换不同的策略。与状态模式相比,策略模式更注重不同算法之间的替换性,而非状态的内部转换。策略Context(上下文)原创 2023-12-14 03:00:00 · 1613 阅读 · 1 评论 -
23种设计模式之装饰者模式(被装饰者,接口层,装饰抽象层,具体装饰者)
装饰者模式 其核心就是为了增强方法,对原业务的扩展,以上面的场景来说,牧场工作人员只做牛奶的生产,但是想要对牛奶进行销售,只生产是不够的,生产前后都需要增加其他的行为。装饰抽象层存在的意义抽象类实现接口,可以选择性的去实现接口的抽象方法,并不需要重写接口所有方法,装饰抽象层可以精确的让具体装饰者去装饰某一个行为。异变代理模式。原创 2023-12-12 03:00:00 · 1026 阅读 · 0 评论 -
23种设计模式之模板方法模式(模板模式)
分别运行StaffA以及StaffB这两个类我们可以看到整个的步骤顺序是没有变的,只有交通工具以及路线发生了变化,个人认为代码已经诠释了模板模式的精髓,我们平时出现多个类似的功能功能点比如解析DOC文件或者XLSX等不同的文件,前期一些初始化的操作可以封装到模板方法中,到了具体解析哪一种类型的文件,再去交给子类实现。比如,在 Hibernate 中,Session 是一个抽象类,它定义了一系列的模板方法,如 save()、update() 和 delete(),用于执行数据库操作。②:出行交通工具的选择。原创 2023-12-12 03:00:00 · 1792 阅读 · 1 评论 -
23种设计模式之代理模式(抽象层,代理者,被代理者)
设计模式原则之一开闭原则简而言之就是扩展开发修改关闭以上面的案例来说扩展开发当我们将手机直营店代理后,只要抽象层手机出售接口拥有的行为 我们的手机超市都可以拥有,当手机直营店行为不是特别满足需求时,我们也可以在手机超市上去为手机直营店进行扩展。修改关闭手机超市并不能改变手机直营店的出售手机行为,能对原有的业务进行扩展,并且不修改原有的代码,这就是开闭原则。异变代理模式个人认为 代理模式只是为了控制外界对被代理对象的访问,不应该因为业务需求强行在代理类中增加业务代码,不然跟装饰者模式有什么区别呢?原创 2023-12-13 03:00:00 · 1078 阅读 · 1 评论 -
23种设计模式之单例模式(懒汉,饿汉,线程安全懒汉)
我们知道设计模式分为23种但是具体划分的话,又分为三大类①:创建型②:结构型③:行为型,本文会介绍创建型的单例模式希望各位能够简单的去了解单例模式以及能够在正常的开发中得到运用,单例模式常见的有饿汉型单例模式、懒汉型单例模式、懒汉线程安全型单例模式,实际上单例模式有七种左右,本文仅介绍常见的三种。从具体实现角度来说,就是以下三点:一是单例模式的类只提供私有的构造函数,二是类定义中含有一个该类的静态私有对象,三是该类提供了一个静态的公有的函数用于创建或获取它本身的静态私有对象。显然单例模式的要点有三个;原创 2023-12-13 03:00:00 · 2776 阅读 · 1 评论