0

再会!我正在研究一个 ASP.NET 项目 refatoringom 并遇到了这样一个问题,因为该项目是国际性的,它有几个位置,并且在业务逻辑上的许多地方,具体操作都是在不那么狡猾的帮助下解决的检查:

    if (IsChina) 
    {
        ...
    }
    else if (IsFrance)
    {
        ...
    }

这样的代码自然会快速增长,变得难以忍受,你无法支持重用。结果,当问题出现在某个位置改变布局的时候,就不得不对后面的代码做了什么,更可怕的是。事实证明我们有两个问题: A. 对相同(相似)的业务逻辑需要不同的标记 二。需要具有不同业务逻辑的相同布局

如果第一段都只是决定了读写类的层次结构和继承,那么第二个问题,其中最重要的就是重复布局。那么我的问题是什么,我们能否以某种方式继承布局(不将其添加到后面的代码中)或借助技巧一个 ASCX 文件来绑定业务逻辑的多个实现,而这些实现又将在右侧动态连接时间。也许有类似经历的人已经经历过?

谢谢!

4

1 回答 1

0

我看到的关键问题是认真思考解决方案的设计。

在标记(aspx 或 ascx)中:哪些控件是常见的,哪些是可变的?常见的可以放在 MasterPageFile 上并由您的其他标记文件引用。

In Code-Behind(aspx.cs or ascx.cs):这里只放与页面控件直接相关的逻辑。

在业务逻辑类(.cs)中:同样,应将公共元素(方法、属性等)放入“父”文件(基类)中,同时将更多独特元素放入从基类继承的“子”类中。

于 2012-06-21T13:56:56.953 回答