factory:工厂模式
当使用者不需要知道对象的创建过程的时候,适合用工厂模式。
按照抽象程度又分为三种:简单工厂模式,工厂方法模式,和抽象工厂模式。
比如写一个jdbc底层,支持多数据库的。:
简单工厂模式:
public static Connection getConnection(String dbName) {
if (dbName.equals("mysql")) {
return new MysqlConnection();
}
if (dbName.equals("oracle")) {
return new OracleConnection();
}
...
}
但是呢,各个数据库的差距不仅仅在于此,比如说分页的sql也不一样。我们还需要封装一个分页的sql。就必须得用到工厂方法模式。此模式:顾名思义,工厂是工厂,方法是方法
工厂方法模式:
public Class MysqlPageHelper implements PageHelper{
public createPageSql(String sql, int startRow, int pageSize){
....
}
public Class OraclePageHelper implements PageHelper{
public createPageSql(String sql, int startRow, int pageSize){
....
}
public static void main(String[] args) {
Connection c= new MysqlConnection();
PageHelper mysqlPageHelper = c.getPageHelper();
String pageSql = mysqlPageHelper.createPageSql("I am a sql",1,10);
}
抽象工厂模式,不解释。
工厂模式的好处在于:维护性增强了。
坏处在于:每加一个类,还得改工厂代码。
spring ioc 相当于一个大的简单工厂,他利用了反射+配置文件的方法,这样就不用修改工厂类了。
singleton:单例模式
很多时候单利模式是有必要的。比如某短信收发网关,连接以后一直在运行着。
注(上面的数据库连接不能做成单例的,只能做成连接池,为什么?因为单例只有一个实例在运行,他会有漫长的等待。)
public class Test1 {
private static Test1 instance = null;
private Test1() {
}
public static Test1 getInstance() {
if (instance == null) {
instance = new Test1();
}
return instance;
}
}
prototype:原型模式
原型模式即java里面的clone方法。
很多人就迷糊了,java每个对象都有的方法,搞一个模式出来?
事实是,设计模式不光是针对java的,我们可以理解为java设计之初就加入了这个模式!
代码:略。
分享到:
相关推荐
java23种设计模式详解附带所有代码实现,适合初学者,请点个赞,谢谢
23种设计模式详解,23种设计模式详解23种设计模式详解23种设计模式详解
Java中的23种设计模式是软件工程中非常重要的概念,它们是解决常见编程问题的成熟解决方案,被广泛应用于各种复杂的软件系统中。这些模式在不同的上下文中提供了可重用的结构和行为,使得代码更加清晰、可维护和扩展...
设计模式是软件工程中的一种重要概念,它代表了在特定情境下解决常见问题的最佳实践。设计模式并不是具体的代码或库,而是一种通用解决方案的描述,可以在多种编程语言中应用。通过对设计模式的理解和运用,开发者...
**MVC设计模式详解** **一、什么是MVC设计模式** MVC,即Model-View-Controller(模型-视图-控制器)设计模式,是一种在软件工程中广泛应用于构建用户界面的架构模式。它将应用程序的数据处理、业务逻辑与用户界面...
Java 中 23 种设计模式详解 在软件设计中,设计模式是解决特定问题的通用解决方案。 Java 中有 23 种常见的设计模式,下面将对每种设计模式进行详细的解释: 1. 抽象工厂模式(Abstract Factory) 抽象工厂模式...
Java设计模式详解合集是一份宝贵的资源,包含了丰富的面向对象设计原则和多种设计模式的深入讲解。这份资料旨在帮助开发者提升软件设计能力,遵循良好的编程实践,提高代码的可读性、可维护性和复用性。以下是其中...
设计模式是软件工程中的一种最佳实践,用于解决常见的设计问题并提供可重用的解决方案。在Java编程中,有23种经典的GoF(Gang of Four)设计模式,它们被分为三大类:创建型、结构型和行为型。本资源集合了这些模式...
Java设计模式详解涵盖了在Java编程中广泛使用的一些经典设计模式。这些模式不仅有助于提高代码的可读性、可维护性和可扩展性,还能促进团队之间的沟通与协作。下面,我们将深入探讨几个重要的Java设计模式。 1. ...
设计模式是软件工程中的一种最佳实践,用于解决在软件开发过程中常见的问题,提供了一套可重用的解决方案。本文将详细解析23种经典的设计模式,并结合C++语言在Visual C++ 6.0环境下进行代码实现。我们将探讨抽象...
软件设计模式是面向对象编程中的一种最佳实践,用于解决常见问题和提高代码的可复用性、可维护性和可扩展性。以下是对标题和描述中提及的四种设计模式的详细解释: 1. **策略模式**: 策略模式的核心思想是将算法的...
设计模式 的分类 总体来说设计模式分为三大类: 创建型模式(5): 工厂方法模式 、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式(7): 适配器模式、装饰器模式、代理模式、外观模式、桥接模式、...
本书浅显易懂的介绍了JAVA线程相关的设计模式,通过程序范例和UML图示来一一解说,书中代码的重要部分加了标注以使读者更加容易理解,再加上图文并茂,对于初学者还是程序设计高手来说,这都是一本学习和认识JAVA...
"23种设计模式详解及案例"涵盖了这些模式的理论基础和实际应用,旨在帮助开发者更好地理解和掌握它们。 1. **单例模式**:保证一个类只有一个实例,常用于管理共享资源,如数据库连接。在Android中,单例模式常用于...
"设计模式详解"的压缩包可能包含了关于这些模式的详细讲解、示例代码和实战案例,对于初学者和经验丰富的开发者来说都是宝贵的资源。通过深入学习和实践,你可以提升自己的设计能力,编写出更具弹性和可扩展性的软件...
这份名为“设计模式PPT——25种设计模式详解”的资料,显然是一个深入探讨设计模式的教程,它通过PDF格式对25种主要的设计模式进行了详尽的阐述。 首先,我们要理解设计模式的基本概念。设计模式不是代码,而是一种...
设计模式是软件工程中的一种最佳实践,它是在特定上下文中解决常见问题的模板或蓝图。...在"java24种设计模式详解"这个资源中,你会找到每种模式的详细讲解和实例,这将有助于你深入理解并掌握它们。
设计模式(C++实例详解)
在软件开发领域,设计模式是经验丰富的开发者们总结出的解决常见问题的模板或最佳实践。在Java编程中,有23种经典的设计模式,它们是面向对象设计的核心部分,帮助我们编写可维护、可扩展且高效的应用程序。以下是这...