Does anybody recognize any pattern/antipattern in attached class diagram?
ALT文字img8.imageshack.us http://///classdiagram.png 8558 img8
短描述:我有一个正常的怀疑是否它是实现两个接口和抽象类
我会对readonlydao这个名字例外——它意味着任何实现它的东西也是只读的,这显然是不真实的。
我建议把它改成可读的DAO。对于abstractreadabledaoimpl,同上。
除非在
否则,看起来不错。
似乎很奇怪。克鲁达奥应该访问readonlydao而不是abstractreadonlydao吗?起初,AbstractReadOnlyDao访问AbstractReadOnlyDaoImpl似乎很奇怪,但第二次看,似乎还可以。
我觉得这个设计很合理。
通过查看你的类图,我能够清楚地了解每个参与者。我认为这是一个很好的信号-这意味着角色之间有明显的分离。
事实上,
你可以把这个问题分成两部分:
- 从另一个接口派生一个接口是否正常且有意义?
- 有一个抽象类和一个模拟相同概念的接口是正常的吗?
第一个问题很容易回答:是的,在某些类只需要"核心"接口,而其他类处理更丰富的接口的情况下,这是有意义的。
我以前在这里讨论过的另一个问题。