- 博客(5)
- 收藏
- 关注
原创 第5条:优先考虑依赖注入来引用资源
许多类依赖于一个或多个底层资源。 例如,拼写检查器依赖于字典。常见的做法一:将这些类实现为静态工具类类(第4项): // Inappropriate use of static utility - inflexible & untestable! public class SpellChecker { private static final Lexicon dictionary ...
2019-09-28 11:35:12 636
原创 第4条:通过私有构造器强化不可实例化的能力
一、简述 很多工具类,成员都是静态的,想拿来直接用,而不需要实例化的,但是在缺少显示构造函数的时候,编译器会给你默认生成一个构造函数,这样这个类就有可能实例化 将类做成抽象类来强制该类不被实例化,这是行不通的(因为子类可以实例化,而且你写这个类不又不是用来继承的) 二、使用方式 只要让这个类包含一个私有构造器,它就不能被实例化。这是由于显示的构造器是私有的,所以不可以在该类的外部访问它。 为了保证...
2019-09-28 11:25:29 107
原创 第3条:用私有构造器或者枚举类型强化Singleton属性
Singleton指仅仅被实例化一次的类。客户端测试变得十分困难 方法一:公有静态成员是个final域。 // Singleton with public final field public class Elvis { public static final Elvis INSTANCE = new Elvis(); private Elvis() { } } 但是要注意可以借...
2019-09-28 11:14:14 132
原创 第2条 遇到过个构造器参数时要考虑使用构造器
当一个类的域很多的时候,一般会采用以下的方法创建类 1. 重叠构造器方式 一般创建构造器会使用重叠构造器的方式,即首先创建一个只有必要参数的构造器,然后第二个构造器有一个可选参数,第三个构造器有两个可选参数,依此类推,最后一个构造器包含所有的可选参数。 public class Person { private final String name; private fin...
2019-09-22 08:36:38 117
原创 第1条:用静态工厂方法代替构造器
1、什么是静态工厂方法 在 Java 中,获得一个类实例最简单的方法就是使用 new 关键字,通过构造函数来实现对象的创建。 就像这样: Fragment fragment = new MyFragment(); // or Date date = new Date(); 不过在实际的开发中,我们经常还会见到另外一种获取类实例的方法: Fragment fragment = MyFragment...
2019-08-31 09:58:54 137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人