一、工厂模式在 JDK-Calendar 应用的源码分析
测试代码:
1 public class Factory {
2
3 public static void main(String[] args) {
4 // getInstance 是 Calendar 静态方法
5 Calendar cal = Calendar.getInstance();
6 // 注意月份下标从0开始,所以取月份要+1
7 System.out.println("年:" + cal.get(Calendar.YEAR));
8 System.out.println("月:" + (cal.get(Calendar.MONTH) + 1));
9 System.out.println("日:" + cal.get(Calendar.DAY_OF_MONTH));
10 System.out.println("时:" + cal.get(Calendar.HOUR_OF_DAY));
11 System.out.println("分:" + cal.get(Calendar.MINUTE));
12 System.out.println("秒:" + cal.get(Calendar.SECOND));
13 }
14 }
二、工厂模式总结
1、工厂模式的意义
将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。
2、三种工厂模式 (简单工厂模式、工厂方法模式、抽象工厂模式)
3、设计模式的依赖抽象原则
(1)创建对象实例时,不要直接 new 类, 而是把这个new 类的动作放在一个工厂的方法中,并返回。有的书上说,变量不要直接持有具体类的引用。
(2)不要让类继承具体类,而是继承抽象类或者是实现interface(接口);
(3)不要覆盖基类中已经实现的方法;