final
代码:不希望final描述的对象所表示的含义被改变
安全:final对象只具有只读的属性 是线程安全的
效率:无法修改final对象本身,对他的引用的操作更为高效
接口
从广义的角度上说:对外提供规则的都叫接口
接口就是规范,类似日常的标准化
构造器注入和 setter 依赖注入,那种方式更好?
每种方式都有它的缺点和优点。
构造器注入保证所有的注入都被初始化,但是 setter 注入提供更好的灵活性来设置可选依赖。
如果使用 XML 来描述依赖,Setter 注入的可读写会更强。
经验法则是强制依赖使用构造器注入,可选依赖使用 setter 注入。