A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 聂玉林 中级黑马   /  2013-5-3 15:14  /  1408 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

      怎么更好的去搭建三层?就是更好的处理三层之间的关系?

2 个回复

倒序浏览
简单的说,三层架构就是便于维护和扩展。
假设A层调用了B层,B层调用了C层,那么当C层有变化时不应该影响到A层,同时也不应该影响到B层。这有点奇怪,怎么做到C层变化了B层和A层就不受影响呢?
最简单的办法就是抽象!让B层使用一个抽象类,但不实用具体的派生类。然后在C层中创建那个抽象类的派生类。这样当以后有变化时,只需要创建一个新的派生类,而无需修改B层就可以咯。代码思路如下:
B层:
class B
{
      CBase _c;
      public B(CBase c)
     {
         this._c=c;
     }
}

C层:
public abstract class CBase
{
    public abstract void SomeMethod();
}

public class CDerived:CBase
{
    public void SomeMethod()
   {
   }
}

这里B层的CBase仅仅使用了C层的一个CBase抽象类,并没有使用具体的派生类。当以后发生变化时,仅仅在C层从CBase创建一个新的派生类就可以了,B层的B类完全不用修改。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马