相关疑难解决方法(0)

存储库和服务层之间的区别?

在OOP设计模式中,存储库模式和服务层之间有什么区别?

我正在开发一个ASP.NET MVC 3应用程序,我正在尝试理解这些设计模式,但我的大脑却没有得到它......

oop asp.net-mvc repository-pattern service-layer

181
推荐指数
5
解决办法
8万
查看次数

将配置值作为参数传递给实例方法 C#

我在重构代码时经常遇到这种情况。假设我有一个基类,我读取了一些配置参数并将它们填充到这样的属性中

public BaseClass()
{
   _property1 = ConfigurationManager.AppSettings["AppSetting1"];
   _property2 = ConfigurationManager.AppSettings["AppSetting2"];
   _property3 = ConfigurationManager.AppSettings["AppSetting3"];
}
Run Code Online (Sandbox Code Playgroud)

然后我像这样在另一个类中调用一个方法

OtherClass otherClass = new OtherClass();
var foo = otherClass.SomeMethod(_property1, _property2, _property3);
Run Code Online (Sandbox Code Playgroud)

这样做更好吗?如果我只需要 OtherClass 类中的 AppSettings 值怎么办?然后我可以将它们作为私有道具加载并在构造函数中初始化它们,并且引用类/调用者不需要关心设置。

public OtherClass()
{
   _property1 = ConfigurationManager.AppSettings["AppSetting1"];
   _property2 = ConfigurationManager.AppSettings["AppSetting2"];
   _property3 = ConfigurationManager.AppSettings["AppSetting3"];
}
Run Code Online (Sandbox Code Playgroud)

我的实现就是

OtherClass otherClass = new OtherClass();
var foo = otherClass.SomeMethod();
Run Code Online (Sandbox Code Playgroud)

这让我很烦恼,但我不确定为什么。哪个是更好的做法,为什么?我很抱歉我遗漏了一些明显的东西。它有时会发生,哈哈。谢谢-弗兰克

c#

6
推荐指数
1
解决办法
668
查看次数

标签 统计

asp.net-mvc ×1

c# ×1

oop ×1

repository-pattern ×1

service-layer ×1