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中使用了详细的名称