我正在尝试用ASP.Net学习MVC并正在阅读Steve Sanderson的书.我很困惑的一件事是在哪里放置业务逻辑?
例如,删除产品时,所有Sanderson都有一个在CartController中调用productsRepository上的Delete方法的方法.这对我来说很奇怪,因为如果有任何业务逻辑,例如确保产品不在任何人的购物车中,等等,则必须在产品库或CartController中.
这两者似乎都是放置业务逻辑的坏地方; 产品存储库可以很容易地被另一个替换(从使用数据库转换为使用会话),使用Controller意味着您将业务逻辑放在UI层中.
他不应该使用包含业务逻辑的类并调用存储库的delete方法吗?存储库是业务逻辑类的成员变量'?
我正在写一款Android游戏并试图尽可能高效.
我知道for循环比foreach更有效,但我想知道以下两个项目的效率是否存在差异:
// itemsList is an ArrayList
int length = itemsList.size();
for(int i=0; i < length; i++)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
VS
for(int i=0; i < itemsList.size(); i++)
{
// do stuff
}
Run Code Online (Sandbox Code Playgroud)