在创建一个对象的时候,这个对象的某个方法需要依赖某个service,那么我们是要把这个service当做构造这个对象的一个属性吗?
其实,没必要。实际上,一个对象总不是孤单存在的,那么一个对象如果依赖另外一个对象(service也是一个对象),那么该对象的构造方法就要必须要初始化这个依赖的对象的实例吗?
我们可以使用set方法来给我们的对象设置这个属性,但是这个属性并不是构造对象的一个必须传入的。那么对象A依赖另外一个对象B,一般情况下,都是这个对象A的某个方法A.method1实现依赖了这个对象B,那么我们在调用这个A的这个方法method1的时候,设置这个对象B即可。
面向对象,不仅仅要会抽象对象,还要会抽象对象的关系,是关联,还是依赖,是强依赖,还是弱依赖,是一对一关联,还是单向关联,抑或是双向关联呢?