设计模式主要分为以下三类
创建型 共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备 忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
创建型模式
(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:pass1
connecting Mysql server with username:admin2 and password:pass2