设计模式
文章平均质量分 89
神的孩子都在歌唱
csdn认证博客专家,本人还是小白,一起加油,微:chenyunzhiLBP
展开
-
结构设计模式 - 组合设计模式 - JAVA
由不同的对象组合成一个整体,这种类型的设计模式就叫做组合设计模式。仅当对象组应表现为单个对象时才应应用组合模式。组合设计模式可用于创建树状结构。Component:定义系统各层次对象的共有方法和属性,它可以是一个接口或一个抽象类,可以预先定义一些默认行为和属性。Leaf:定义合成中元素的行为。它是组合和实现基本对象的构建块。它没有对其他对象的引用。Composite: 它由各个子对象(leaf元素)组成,并在基本组件中实现操作。比如图表是一种由圆形、三角形等对象组成的结构。原创 2024-03-14 21:56:44 · 600 阅读 · 0 评论 -
结构设计模式 -适配器设计模式 -Java
适配器设计模式在现实生活中很常见,比如我最近白嫖了一个老旧的显示屏,不过他是VGA接口,可是我的笔记本支持HDMI**,没有支持VGA接口,那么就是要一个转接头将他们连接起来,这个转接头就是本文说的**适配器图片来源于网络适配器设计模式是一种结构型设计模式,它允许接口不兼容的对象能够相互合作。适配器模式通常用于将一个类的接口转换为客户端期望的另一个接口。这种模式通常用于解决接口不兼容的问题。目标(Target)接口:这是当前系统业务所期待的接口,它可以是抽象类或接口。原创 2024-03-13 23:17:42 · 1253 阅读 · 0 评论 -
创建型设计模式 - 建造者设计模式 - JAVA
以下是百度百科对建造者模式的解释 :文章地址建造者模式是设计模式的一种,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。解决问题当创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时。当构造过程必须允许被构造的对象有不同表示时。在这样的设计模式builder:为创建一个产品对象的各个部件指定抽象接口。:实现Builder的接口以构造和装配该产品的各个部件,定义并明确它所创建的表示,并提供一个检索产品的接口。Director:构造一个使用Builder接口的对象。原创 2024-02-28 23:00:53 · 1244 阅读 · 1 评论 -
创建型设计模式 - 原型设计模式 - JAVA
原型模式提供了一种机制,可以将原始对象复制到新对象,然后根据我们的需要进行修改。原型设计模式使用java克隆来复制对象。原型模式的克隆分为浅克隆和深克隆。深拷贝(Deep Copy)和浅拷贝(Shallow Copy)是指在进行对象复制时所产生的两种不同结果。深拷贝:创建一个新对象,新对象的属性和原来对象完全相同,对于非基本类型属性,仍指向原有属性所指向的对象的内存地址。浅拷贝:创建一个新对象,属性中引用的其他对象也会被克隆,不再指向原有对象地址。Java中的Object类中提供了clone()原创 2024-02-22 21:48:53 · 1062 阅读 · 0 评论 -
创建型设计模式 - 抽象工厂模式 - JAVA
看本片文章前,可以先看工厂设计模式,您会注意到我们有一个 Factory 类。该工厂类根据提供的输入返回不同的子类,工厂类使用 if-else 或 switch 语句来实现此目的。在抽象工厂模式中,我们摆脱了if-else 块,并为每个子类都有一个工厂类。然后是一个抽象工厂类,它将根据输入工厂类返回子类。并且工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品。大白话可能没办法讲清楚,接下来会通过代码解释,这样就能很容易掌握和理解工厂模式和抽象工厂模式之间的细微差别。电脑抽象类/**原创 2023-12-28 22:29:50 · 1307 阅读 · 0 评论 -
Java - 工厂设计模式
当我们有一个带有多个子类的超类,并且根据输入,我们需要返回其中一个子类时,就会使用工厂设计模式。该模式将类实例化的步骤从客户端程序转移到工厂类。简单理解就是一个东西有多种不同的实现方式,你选择不同方式,最后的结果就会不一样工厂设计模式提供了接口而不是实现的代码方法。工厂模式从客户端代码中删除了实际实现类的实例化。工厂模式使我们的代码更加健壮,耦合性更低并且易于扩展。例如,我们可以轻松地更改 PC 类的实现,因为客户端程序不知道这一点。工厂模式通过继承提供实现类和客户端类之间的抽象。原创 2023-12-24 21:35:18 · 1142 阅读 · 0 评论 -
JAVA - 单例设计模式
单例模式(Singleton Pattern的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。原创 2023-12-24 21:33:30 · 1055 阅读 · 0 评论