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