software-design-pattern
声明:资源链接索引至第三方,平台不作任何存储,仅提供信息检索服务,若有版权问题,请https://help.coders100.com提交工单反馈
在GoF的《设计模式:可复用面向对象软件的基础》中,有23种经典设计模式。以下是其中两种的详细描述:
1. 单例模式(Singleton)
单例模式是一种确保一个类只有一个实例,并提供全局访问点的设计模式。它通常用于管理共享资源,例如数据库连接或日志记录器。在Java中,我们可以使用静态内部类来实现单例模式。
2. 工厂方法模式(Factory Method)
工厂方法模式是一种创建对象的设计模式,它提供了一个创建对象的接口,但让子类决定要实例化的类是哪一个。在Java中,我们可以使用抽象类和继承来实现工厂方法模式。
1. 单例模式(Singleton)
单例模式是一种确保一个类只有一个实例,并提供全局访问点的设计模式。它通常用于管理共享资源,例如数据库连接或日志记录器。在Java中,我们可以使用静态内部类来实现单例模式。
public class Singleton {
private static Singleton instance;
private Singleton() {}
public static synchronized Singleton getInstance() {
if (instance == null) {
instance = new Singleton();
}
return instance;
}
}
2. 工厂方法模式(Factory Method)
工厂方法模式是一种创建对象的设计模式,它提供了一个创建对象的接口,但让子类决定要实例化的类是哪一个。在Java中,我们可以使用抽象类和继承来实现工厂方法模式。
abstract class Shape {
abstract void draw();
}
class Circle extends Shape {
@Override
void draw() {
System.out.println("Drawing a circle");
}
}
class Rectangle extends Shape {
@Override
void draw() {
System.out.println("Drawing a rectangle");
}
}
class ShapeFactory {
public static Shape createShape(String shapeType) {
if (shapeType.equals("circle")) {
return new Circle();
} else if (shapeType.equals("rectangle")) {
return new Rectangle();
} else {
throw new IllegalArgumentException("Invalid shape type");
}
}
}
基于GoF《设计模式:可复用面向对象软件的基础》的23种经典设计模式的javaDemo-
Creativity
- 2025-06-16 05:18:59访问
- 积分:1
-
AndroidSuperDialog
- 2025-06-16 04:47:02访问
- 积分:1
-
LawyerCaseManagementSystemDesignAndDevelopment
- 2025-06-16 04:39:54访问
- 积分:1
-
MultipleStatusView
- 2025-06-16 04:24:49访问
- 积分:1
-
QNewsDemo
- 2025-06-16 04:16:47访问
- 积分:1
-
biot-base
- 2025-06-16 04:11:39访问
- 积分:1
-
BlueToothDemo
- 2025-06-16 04:00:50访问
- 积分:1
-
MeiTingMusicPlay_SZY
- 2025-06-16 03:57:38访问
- 积分:1
-
SurveyManagement
- 2025-06-16 03:45:25访问
- 积分:1
-
Insight
- 2025-06-16 03:44:52访问
- 积分:1
-
SlidingLayout
- 2025-06-16 03:13:05访问
- 积分:1
-
nju-lib-downloader
- 2025-06-16 03:10:56访问
- 积分:1
-
audioWaveCanvas
- 2025-06-16 02:59:54访问
- 积分:1
-
ESP-video-server
- 2025-06-16 02:46:42访问
- 积分:1
-
Distributed_Spider_2
- 2025-06-16 02:35:02访问
- 积分:1
-
MailSender
- 2025-06-16 02:28:03访问
- 积分:1
-
printservicexerox
- 2025-06-16 02:19:20访问
- 积分:1
-
Xerox-Sales-Price-Performance-Solution-Selling
- 2025-06-16 02:18:53访问
- 积分:1
-
LBSTestDemo
- 2025-06-16 02:14:04访问
- 积分:1
-
sus
- 2025-06-16 02:08:52访问
- 积分:1
-
takeout
- 2025-06-16 02:02:09访问
- 积分:1
访问申明(访问视为同意此申明)
2.部分网络用户分享TXT文件内容为网盘地址有可能会失效(此类多为视频教程,如发生失效情况【联系客服】自助退回)
3.请多看看评论和内容介绍大数据情况下资源并不能保证每一条都是完美的资源
4.是否访问均为用户自主行为,本站只提供搜索服务不提供技术支持,感谢您的支持