- Public interface CowDao {
- public void create(Cow obj);
- public void delete(Cow obj);
- public void update(Cow obj);
-
- public void other(Horse obj);
- }
设计二: 代码 - Public interface BaseDao {
- public void create(Object obj);
- public void delete(Object obj);
- public void update(Object obj);
- }
-
- Public interface WindDao extends BaseDao {
- public void other(Wind obj);
- }
-
- Public interface HorseDao extends BaseDao {
- public void other(Horse obj);
- }
-
- Public interface CowDao extends BaseDao {
- public void other(Horse obj);
- }
疑惑: 采用设计一: 发现增、删、改 这些方法重复了。 采用设计二: 发现 WindDao 不但可以对 Wind 进行增、删、改操作, 而且可以对其他任意对象进行增、删、改操作。似乎违反了OO的设计原则。 各位大侠, 应该如何设计会比较合适些 ? |