Java架构中的常见设计模式
来源:互联网 发布:淘宝卖家需求 编辑:程序博客网 时间:2024/05/29 14:30
设计模式主要分为以下三类
创建型 共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备 忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
创建型模式
(1)工厂方法模式:
ConnectionFactory 就是非常经典的工厂模式,我们通过提供不同的数据库连接配置,可以得到Oracle或者Mysql等不同的数据库连接,从而连接对象的创建不必我们自己来做,我们只需要告诉工厂我们要的是什么连接,然后工厂就会返回正确的连接给我们使用。
下面是一个简单的工厂模式例子:
public interface Connection { public void connect(String username,String password);}
public class MysqlConnection implements Connection{ @Override public void connect(String username,String password) { System.out.println("connecting Mysql server with username:"+username +" and password:"+password); }}
public class OracleConnection implements Connection{ @Override public void connect(String username,String password) { System.out.println("connecting Oracle server with username:"+username +" and password:"+password); }}
public class ConnectionFactory { public static Connection getMysqlConnection(){ Connection connection = new MysqlConnection(); return connection; } public static Connection getOracleConnection(){ Connection connection = new OracleConnection(); return connection; }}
public class Test { public static void main(String[] args) { //oracle Connection connection1 = ConnectionFactory.getOracleConnection(); connection1.connect("admin1","pass1"); //Mysql Connection connection2 = ConnectionFactory.getMysqlConnection(); connection2.connect("admin2","pass2"); }}
输出:connecting Oracle server with username:admin1 and password:pass1connecting Mysql server with username:admin2 and password:pass2
1 0
- Java架构中的常见设计模式
- java设计模式中的四层架构
- Java 常见设计模式
- Java 常见设计模式
- JAVA常见设计模式
- java常见设计模式
- Java常见设计模式
- Java常见设计模式
- java常见的设计模式
- 常见的Java设计模式
- java开发常见设计模式
- java常见的设计模式
- 常见的Java设计模式
- 设计模式学习之架构设计中的架构模式
- 设计模式在架构设计中的运用
- 设计模式与常见架构设计策略学习
- java中的设计模式
- java中的设计模式
- c++作业5
- 动态代理模式
- Yii2.0 RESTful Web服务(3)
- HDOJ(HDU) 2503 a/b + c/d(最大公约数问题)
- jvm内存调优
- Java架构中的常见设计模式
- Top K Frequent Elements=-leetcode
- 删繁就简 - 云和恩墨的一道面试题解析
- 进程不具有此命名空间的访问权限
- p3p种cookie
- java.lang.NoClassDefFoundError: org/jaxen/JaxenException
- Jquery attr("checked") attr("selected") 失效的问题
- 让世界来点动静
- SpringBoot(非spring-webmvc)访问Mongodb例子