Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 为什么BLL层应该使用方法重载,而不是使用单独名称的单独方法…不应该';不是反过来吗?_Asp.net_Design Patterns_Webforms - Fatal编程技术网

Asp.net 为什么BLL层应该使用方法重载,而不是使用单独名称的单独方法…不应该';不是反过来吗?

Asp.net 为什么BLL层应该使用方法重载,而不是使用单独名称的单独方法…不应该';不是反过来吗?,asp.net,design-patterns,webforms,Asp.net,Design Patterns,Webforms,我不明白为什么使用方法重载(在BLL层)比使用单独名称的方法更可取 例如,如果我们的web应用程序在DAL层具有用于从数据库检索文章的方法GetAllArticles、GetArticlesByCategory、GetPublishedArticles和GetPublishedArticlesByCategory,那么建议在BLL层使用GetArticles()重载调用上述所有DAL方法 a) 但为什么使用GetArticles重载比使用(在BLL层)GetAllarticle、GetArtic


我不明白为什么使用方法重载(在BLL层)比使用单独名称的方法更可取

例如,如果我们的web应用程序在DAL层具有用于从数据库检索文章的方法GetAllArticles、GetArticlesByCategory、GetPublishedArticles和GetPublishedArticlesByCategory,那么建议在BLL层使用GetArticles()重载调用上述所有DAL方法

a) 但为什么使用GetArticles重载比使用(在BLL层)GetAllarticle、GetArticlesByCategory、GetPublishedArticles和GetPublishedArticlesByCategory方法更可取(这些方法分别调用DAL的GetAllarticle、GetArticlesByCategory、GetPublishedArticles和GetPublishedArticlesByCategory)


也就是说,我意识到业务对象是为了抽象数据库模式,使它们更易于理解。但就我而言,如果我是UI开发人员,如果BLL层有方法GetAllarticle、GetArticlesByCategory、GetPublishedArticles和GetPublishedArticlesByCategory,而不是BLL有GetArticles重载,对我来说会容易得多,因为只要看一下方法的名称,我就知道它到底做了什么!因此,具有单个名称的方法不是比重载更接近人类的思维方式吗?重载正是DLL应该提供的


b) 那么GetArticles重载应该比GetAllarticle、GetArticlesByCategory、GetPublishedArticles和GetPublishedArticlesByCategory更直观吗



thanx

无论哪种方式都可以,这取决于该层的消费者。
您可以在两个图层上选择重载或单独的名称。这完全取决于受众/用户。

如果您的图层是作为单独的项目开发的,并且将生成单独的DLL,并且这些DLL可能在不同的位置使用,则此选择变得更加重要。

谁推荐此选项?就我个人而言,我会用另一种方式——使用BLL中的详细名称和DAL中的重载。在这个链接上回复的家伙说:……但我不是100%确定,因为我对术语“BLL中的粗粒度方法更少”有点困惑。。。换句话说,我不知道那意味着什么。另外,我正在读一本书《网站编程——问题、设计和解决方案》,作者在BLL层使用了重载,并在DAL中使用了详细的名称