需求: 现在要设计 3 个 DAO 分对 Wind, Horse, Cow 进行增、删、改以及一些其他操作。
设计一:
<script>render_code();</script>
设计二:
<script>render_code();</script>
疑惑:
采用设计一: 发现增、删、改 这些方法重复了。
采用设计二: 发现 WindDao 不但可以对 Wind 进行增、删、改操作,
而且可以对其他任意对象进行增、删、改操作。似乎违反了OO的设计原则。
各位大侠, 应该如何设计会比较合适些 ?
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
回答:
public interface BaseDao<t></t> {
public void create (T t);
public void delete (T t);
public void update (T t);
}
public interface WindDao extends BaseDao<wind></wind> {
public void other (Wind wind);
} 我也喜欢这种方式
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
反射的话应该也可以,不是这种类型的就抛个异常出来,不过这样的话,每个DAO实现都要重复判断,所以最好写一个基类把这些东西放在基类里面,to楼上的几位,不是什么项目都可以用5.0的.
反射虽然可以, 但是用反射性能比较低,我觉得如非必要最好还是不要用反射。