引言
之前总是在使用别人搭建好的架构来实现具体的业务,没有真正的思考架构设计的原因,基于什么样的原因要采用这样的架构,为什么在底层使用了那么多的接口、抽象类等等,现在在搭建OA系统的DAO时候意识到了这方面的原因,下面就来总结一下。
首先来看一下最后的设计类图:
原来我们在设计的时候都知道面向接口编程,所以在DAO层都有一个接口,这样我们就不在需要将dao层的具体实现暴露给调用者,但是我们并没有考虑抽象将公共的方法放在一个父接口中,因为我们有很多的公共的方法,比方说:对于每一个实体我们都至少有四个方法——增、删、该、查等,在上面我们抽取了6个公共的方法。这样的话我们就很好的避免在每一个接口中都定义增删该查的方法。这样每一个具体业务的接口都去继承这个父接口就好了。
下面我们就来分析一下抽象类的这个问题,我们为什么会增加了一个抽象类?这就需要我们了解接口和抽象类概念和解决什么样的问题