设计模式&代码重构
文章平均质量分 71
千瞱
世界上没有完美的程序,但我们并不因此而沮丧,因为写程序本来就是一个不断追求完美的过程。
展开
-
设计模式学习之策略模式和简单工厂模式的对比
在这之前我们已经介绍过了策略模式和简单工厂模式,也清楚策略模式属于行为模式,简单工厂模式属于创建型模式,但是在实际使用的过程中经常把它们混淆在一起,有些分不清楚,本文对比一下这两种设计模式。原创 2023-06-28 23:58:52 · 472 阅读 · 0 评论 -
设计模式学习之工厂方法模式
在上一篇文章中我们学习了简单工厂模式——这是工厂模式中最简单的一种模式,通过工厂类提供的方法创建类(可以类比为产品),将对象创建的具体逻辑屏蔽了起来。以下图为例,我们需要开发一个跨平台的UI工具库,该工具库至少能够在Windows应用和网页端运行,很明显同一个组件(如Button)在这两个平台的实现代码是不一样的,在这种情况下使用简单工厂模式进行实现就有些麻烦了,因为现在有两个维度:平台和组件,那么应该怎么做呢?之所以可以这么写,是因为产品数量比较少并且工厂产出的数据都是同一个维度的。原创 2023-06-26 00:17:14 · 844 阅读 · 0 评论 -
UML图系列之序列图
下图是一个完整的序列图示例序列图包是一个二维结构图,多个参与交互的对象在水平方向从左到右展开,每个对象都有一条竖向的虚线(生命线),序列图中的数据传递将沿着生命线从上向下进行。关于序列图的详细介绍可以参考这篇博客,如果你想快速上手序列图,我建议看这个视频学习一下。返回消息使用虚线。...原创 2022-07-19 21:00:53 · 3691 阅读 · 1 评论 -
设计模式学习之简单工厂
简单工厂不是一个标准的设计模式,但是非常简单又好用,我们先介绍简单工厂。原创 2022-05-07 23:51:02 · 524 阅读 · 0 评论 -
设计模式学习之策略模式在前端的应用
策略模式是23种基本设计模式中的对象行为型模式,在我的设计模式学习之策略模式一文中已经对其进行了简单的介绍,不过使用的是Java语言编写示例代码。本文将介绍这一模式在前端中的应用,我将使用js代码进行举例说明。1 使用JS实现策略模式策略模式本身的思想比较简单,就是在我们有众多实现方法可以选择的时候,如何封装代码以符合优秀代码的基本原则如封闭原则等。在Java中需要很多个类来实现,有策略接口类、其多个实现类、上下文Context类和调用类等等,在Js中就没有这么复杂了,看下面的例子:假如现在你需要完成原创 2022-05-02 15:18:38 · 739 阅读 · 0 评论 -
设计模式学习之策略模式
1 策略模式的功能策略模式的功能是把具体的算法实现,从具体的业务处理里面独立出来,实现成为单独的算法类,从而形成一系列的算法,并让这些算法可以相互替换。策略模式的重心不是如何实现算法,而是如何组织和调用这些算法,从而让程序的结构更灵活,具有更好的维护性和扩展性。1.1 实现一个计算器以菜鸟教程中的计算器示例代码为例,使用if-else实现和策略模式两种实现方式进行对比。本文的代码均使用Java语言编写。1.1.1 使用if-else实现package dp.strategy.example4;原创 2022-05-02 14:48:35 · 971 阅读 · 0 评论