不会画图..口头描述一下
一个类中有多个私有的 Set,分别对应不同的类型,但这多个类型都有共同的接口(也就是说基本都差不多一个样),用于存放分别对应类型的对象
现在我要设计一个方法,接收该接口的类型,方法内部调用相对应的 Set,如何避免多个 if-else ?
--手动分割--
由于语死早,所以还是用个具体的过程再描述一遍
比如说一个 class 有 3 个 Set,分别是私有的 Set<A> a,Set<B> b,set<C> c,其中 A,B,C 都是接口 I 的实现类
简化的方法声明:xjbfunction(I obj)
简化的内部实现:
if(obj instanceof A) a.add(obj);
if(obj instanceof B) b.add(obj);
c 同理
//以上是 java 的写法
现在我想把 if-else 换成一个更简化通用的写法去表示,该如何去做(因为往后要扩展出更多的类和更复杂的业务处理),补充下次要要求:Set 尽量不要暴露给不必要的类
自己实在太菜了暂时没啥头绪,大家有什么好方法可以分享一下
一个类中有多个私有的 Set,分别对应不同的类型,但这多个类型都有共同的接口(也就是说基本都差不多一个样),用于存放分别对应类型的对象
现在我要设计一个方法,接收该接口的类型,方法内部调用相对应的 Set,如何避免多个 if-else ?
--手动分割--
由于语死早,所以还是用个具体的过程再描述一遍
比如说一个 class 有 3 个 Set,分别是私有的 Set<A> a,Set<B> b,set<C> c,其中 A,B,C 都是接口 I 的实现类
简化的方法声明:xjbfunction(I obj)
简化的内部实现:
if(obj instanceof A) a.add(obj);
if(obj instanceof B) b.add(obj);
c 同理
//以上是 java 的写法
现在我想把 if-else 换成一个更简化通用的写法去表示,该如何去做(因为往后要扩展出更多的类和更复杂的业务处理),补充下次要要求:Set 尽量不要暴露给不必要的类
自己实在太菜了暂时没啥头绪,大家有什么好方法可以分享一下