📝 设计模式
89篇技术文档📅  最后修改于: 2021-09-10 02:40:49        🧑  作者: Mango
统一建模语言 (UML)是一种通用建模语言。 UML 的主要目的是定义一种标准方法来可视化系统的设计方式。它与其他工程领域中使用的蓝图非常相似。UML不是一种编程语言,而是一种可视化语言。我们使用 UML 图来描绘系统的行为和结构。 UML 帮助软件工程师、商人和系统架构师进行建模、设计和分析。对象管理组 (OMG) 在 1997 年采用统一建模语言作为标准。此后一直由 OMG 管理。国际标准化组...
📅  最后修改于: 2021-09-10 02:41:00        🧑  作者: Mango
我们已经在第 1 组中讨论了 Pizza 设计问题和解决它的不同天真方法。我们还在第 2 组中引入了装饰器模式。在本文中,讨论了 Pizza 问题的装饰器模式的设计和实现。强烈建议您先自己尝试一下。新建类图(点击图片看清楚)Pizza充当我们的抽象组件类。有四个具体组件,即PeppyPaneer、FarmHouse、Margherita、ChickenFiesta。ToppingsDecorato...
📅  最后修改于: 2021-09-10 02:41:12        🧑  作者: Mango
和之前的文章一样,让我们用一个设计问题来理解命令模式。假设您正在构建一个家庭自动化系统。有一个可编程遥控器,可用于打开和关闭家中的各种物品,如电灯、立体声音响、交流电等。它看起来像这样。您可以使用简单的 if-else 语句来完成,例如但我们需要记住,打开某些设备(如立体声)包括许多步骤,如设置 cd、音量等。我们也可以重新分配一个按钮来做其他事情。通过使用简单的 if-else,我们编码的是实现...
📅  最后修改于: 2021-09-10 02:41:23        🧑  作者: Mango
本文解释了如何使用来自 MySQL 数据库的Model对象和Singleton连接类来执行 JDBC 操作。JDBC是Java的应用程序编程接口,它将Java应用程序与数据库连接起来以执行CRUD操作。先决条件:JDK 7+(点击此处下载)MySQL 数据库(点击此处下载)MySQL J 连接器(点击此处下载)JDBC基础(点击这里学习JDBC)Eclipse 或任何其他 IDE模型类:模型类在 ...
📅  最后修改于: 2021-09-10 02:41:34        🧑  作者: Mango
洪水填充算法:洪水填充算法也称为种子填充算法。它确定连接到多维数组中给定节点的区域。该算法的工作原理是填充或重新着色包含不同颜色的选定区域的内部部分以及图像的边界。它通常由一张图片来说明,该图片具有以各种不同颜色区域为边界的邻域。为了绘制这些区域,我们将替换特定的内部颜色而不是发现边界颜色值。这是由于洪水填充算法而理解该方法的基本原理。现在,有两种方法将用于通过连接像素来创建无限边界 – 4-co...
📅  最后修改于: 2021-09-10 02:41:44        🧑  作者: Mango
为了理解微服务,我们需要了解什么是单体应用,以及是什么导致我们最近从单体应用转向微服务。单体应用如果项目的所有功能都存在于单个代码库中,则该应用程序称为单体应用程序。我们都必须在我们的生活中设计过一个单体应用程序,在其中我们得到了一个问题陈述,并被要求设计一个具有各种功能的系统。我们在呈现、服务和持久性等各个层设计我们的应用程序,然后将该代码库部署为单个 jar/war 文件。这只不过是一个单体应...
📅  最后修改于: 2021-09-10 02:41:55        🧑  作者: Mango
我有机会通过 Linkedin 联系 Zookr.in 的 HR 进行面试。首先,他们分享了一个关于竞争性编程的问题陈述,并给了我两天的时间来提出各种可能的解决方案以及一份关于最佳边缘案例解决方案的报告。发布问题提交后,他们发现我的边缘案例切割中有很多错误,但他们喜欢我的方法并打电话给我参加 F2F 面试。F2F 第 1 轮1.我的大学项目详细。 (在这里我输了)2. 总和大于或等于给定值的最小子...
📅  最后修改于: 2021-09-10 02:42:06        🧑  作者: Mango
统一建模语言 (UML) 是一种用于描述和建模软件蓝图的标准可视化语言。 UML 不仅仅是一种图形语言。正式地说,UML 用于:可视化、指定、构造和记录。软件密集型系统的工件(特别是使用面向对象风格构建的系统)。UML的三个方面:图 –UML 的三个方面注 –如上图所述,语言、模型和统一是 UML 的重要方面。1. 语言:它使我们能够就包括需求和系统的主题进行交流。一个团队要想成功开发一个没有语言...
📅  最后修改于: 2021-09-10 02:42:17        🧑  作者: Mango
什么是序列图?序列图只是按顺序描述对象之间的交互,即这些交互发生的顺序。我们还可以使用术语事件图或事件场景来指代序列图。序列图描述系统中的对象如何以及以何种顺序函数。这些图表被商人和软件开发人员广泛用于记录和理解新系统和现有系统的需求。示例:基于情感的音乐播放器的序列图:什么是活动图?活动图基本上是流程图(统一建模语言)图,用于描述系统的动态方面。流程图表示活动从一个活动到另一活动的流程。活动可以...
📅  最后修改于: 2021-09-10 02:42:28        🧑  作者: Mango
访问者设计模式是行为设计模式中的一种。当我们必须对一组相似类型的对象执行操作时使用它。在访问者模式的帮助下,我们可以将操作逻辑从对象移动到另一个类。访问者模式由两部分组成:一个名为Visit()的方法,由访问者实现,并为数据结构中的每个元素调用提供接受访问者的Accept()方法的可访问类UML 图访问者设计模式设计组件Client :Client 类是访问者设计模式类的使用者。它可以访问数据结构...
📅  最后修改于: 2021-09-10 02:42:39        🧑  作者: Mango
我们使用活动图来说明系统中的控制流,并参考执行用例所涉及的步骤。我们使用活动图对顺序和并发活动进行建模。因此,我们基本上使用活动图直观地描述工作流。活动图侧重于流程的条件及其发生的顺序。我们使用活动图来描述或描绘导致特定事件的原因。UML 模型基本上分为三类图,即结构图、交互图和行为图。活动图是行为图,即它描绘了系统的行为。活动图描绘了从起点到终点的控制流,显示了在执行活动时存在的各种决策路径。我...
📅  最后修改于: 2021-09-10 02:42:50        🧑  作者: Mango
模型视图控制器(MVC) 设计模式指定应用程序由数据模型、表示信息和控制信息组成。该模式要求将其中的每一个都分成不同的对象。MVC 更像是一种架构模式,而不是完整的应用程序。 MVC 主要与应用程序的 UI/交互层有关。您仍然需要业务逻辑层,可能还需要一些服务层和数据访问层。UML 图 MVC 设计模式设计组件模型只包含纯应用程序数据,它不包含描述如何向用户呈现数据的逻辑。视图将模型的数据呈现给用...
📅  最后修改于: 2021-09-10 02:43:00        🧑  作者: Mango
正如我们所看到的,我们之前使用继承的设计效果不佳。在这篇文章中,装饰者模式是针对上一组中的设计问题讨论的。所以我们现在要做的是在运行时拿一个比萨并用浇头“装饰”它:拿一个披萨对象。用辣椒对象“装饰”它。用 CheeseBurst 对象“装饰”它。调用 getCost() 并使用委托而不是继承来计算浇头成本。我们最终得到的是一个带有芝士碎和辣椒配料的比萨饼。可视化“装饰器”对象,如包装器。以下是装饰...
📅  最后修改于: 2021-09-10 02:43:11        🧑  作者: Mango
什么是流程图?流程图是算法的图形表示。程序员经常将其用作解决问题的程序规划工具。它利用它们之间相互连接的符号来表示信息的流动和处理。为算法绘制流程图的过程称为“流程图”。流程图设计中使用的基本符号终端:椭圆符号表示程序逻辑流程中的开始、停止和暂停。在某些错误条件下,程序逻辑中通常使用暂停/暂停。终端是流程图中的第一个和最后一个符号。输入/输出:平行四边形表示输入/输出类型的任何函数。从输入设备获取...
📅  最后修改于: 2021-09-10 02:43:21        🧑  作者: Mango
Proxy 的意思是“代替”、“代表”或“代替”或“代表”是代理的字面量意思,直接解释了代理设计模式。代理也称为代理、句柄和包装器。它们在结构上与适配器和装饰器密切相关,但与目的无关。一个现实世界的例子可以是支票或信用卡是我们银行账户中内容的代理。它可以代替现金使用,并在需要时提供一种获取现金的方式。而这正是代理模式所做的——“控制和管理对它们所保护的对象的访问”。行为与装饰器模式一样,代理可以链...