小编cod*_*ike的帖子

DDD - 实体无法直接访问存储库的规则

在领域驱动设计,似乎有很多协议,任何单位不得直接访问存储库.

这是来自Eric Evans Domain Driven Design的书,还是来自其他地方?

对于它背后的推理,哪里有一些很好的解释?

编辑:澄清:我不是在谈论将数据访问分离到业务逻辑的单独层的经典OO实践 - 我在谈论DDD中的特定安排,实体不应该与数据对话访问层(即它们不应该包含对Repository对象的引用)

更新:我给了BacceSR赏金,因为他的回答似乎最接近,但我仍然对这个问题一无所知.如果它有这么重要的原则,肯定会在网上有一些关于它的好文章吗?

更新:2013年3月,关于这个问题的投票意味着人们对此很感兴趣,即使有很多答案,我仍然认为如果人们有这方面的想法,还有更多的空间.

oop domain-driven-design s#arp-architecture repository-pattern

166
推荐指数
6
解决办法
3万
查看次数

计算SQL Server中的运行总计

想象一下下表(称为TestTable):

id     somedate    somevalue
--     --------    ---------
45     01/Jan/09   3
23     08/Jan/09   5
12     02/Feb/09   0
77     14/Feb/09   7
39     20/Feb/09   34
33     02/Mar/09   6
Run Code Online (Sandbox Code Playgroud)

我想要一个以日期顺序返回运行总计的查询,例如:

id     somedate    somevalue  runningtotal
--     --------    ---------  ------------
45     01/Jan/09   3          3
23     08/Jan/09   5          8
12     02/Feb/09   0          8
77     14/Feb/09   7          15  
39     20/Feb/09   34         49
33     02/Mar/09   6          55
Run Code Online (Sandbox Code Playgroud)

我知道在SQL Server 2000/2005/2008中有各种方法可以做到这一点.

我对使用aggregate-set-statement技巧的这种方法特别感兴趣:

INSERT INTO @AnotherTbl(id, somedate, somevalue, runningtotal) 
   SELECT id, somedate, somevalue, null
   FROM TestTable
   ORDER …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server running-total

158
推荐指数
8
解决办法
23万
查看次数

如何只用一个IDENTITY列插入表格?

(在尝试回答另一个问题的过程中提出这个问题)

考虑以下名为GroupTable的MS-SQL表:

GroupID
-------
1  
2  
3  

其中GroupID是主键,是Identity列.

如何在使用IDENTITY_INSERT ON的情况下在表中插入新行(从而生成新ID)?

请注意:

INSERT INTO GroupTable() Values ()   
Run Code Online (Sandbox Code Playgroud)

......不行.

编辑:我们在这里谈论SQL 2005或SQL 2008.

sql sql-server identity

81
推荐指数
2
解决办法
2万
查看次数

适用于Windows的iPhone浏览器模拟器?

注意:这是关于在iPhone上模拟浏览器而不是模拟整个设备的问题.我知道在Windows上无法进行iPhone设备模拟,正如此处详细讨论的那样.

我有一个在iPhone上查看时看起来很奇怪的网站 - 它的某种CSS问题.

当我在Safari for Windows(或任何其他Windows浏览器)中查看该站点时,不会发生同样的问题.

那么,有没有在Windows上运行的好的iPhone 浏览器模拟器?即以与iPhone浏览器相同的方式呈现网站.

如果有一些方法可以详细检查CSS,就像使用Chrome的"检查元素"开发人员功能一样,可以获得奖励积分.

编辑:对于好奇,我试图解决的渲染问题在这里描述: CSS背景图像在iPhone上呈现不同

browser iphone simulation safari

58
推荐指数
2
解决办法
8万
查看次数

如何在IIS中重定向URL路径?

在IIS 6.0中,有一种简单的方法可以将对文件夹的请求重定向到另一个文件夹,同时保留其余路径.

例如

如果我已将内容从:
mysite.org.uk/stuff
移至
stuff.mysite.org.uk/

我可以自动将特定页面的请求(如
mysite.org.uk/stuff/countrybriefing/tanzania/travel.html)重定向

stuff.mysite.org.uk/countrybriefing/tanzania/travel.html

我知道.htaccess可以在Apache中做这样的事情,在IIS中是否有相同的东西?

iis redirect iis-6

38
推荐指数
2
解决办法
22万
查看次数

IIS会话超时与ASP.NET会话超时

在IIS 6(以及其他版本太远)中,属性 - >主目录选项卡 - >配置按钮 - >选项选项卡中有会话超时设置.看起来像这样:

IIS对话框的图片

在ASP.NET web.config中有一个SessionState设置,如下所示:

<system.web>
    <sessionState timeout="120" />
    <!-- etc .. -->
</system.web>
Run Code Online (Sandbox Code Playgroud)

他们是否有任何机会相关?他们设置相同的东西,或不同的东西?

asp.net iis session session-timeout

37
推荐指数
2
解决办法
3万
查看次数

如何避免在创建用户的Salesforce测试中出现MIXED_DML_OPERATION错误

有时在Salesforce测试中,您需要创建User对象以作为特定类型的用户运行部分测试.

但是,自Salesforce Summer 08更新以来,尝试在同一测试中创建User对象和普通对象(如Accounts)会导致以下错误:

MIXED_DML_OPERATION,更新非安装对象后,不允许对安装对象进行DML操作(反之亦然):用户,原始对象:帐户

请注意,从Eclipse/Force.com IDE运行测试时不会发生错误,但是当您部署到Salesforce然后从Salesforce中运行测试时,确实会发生错误.

如何重新编写测试以避免此错误?

以下是导致错误的测试的简单示例:

static testMethod void test_mixed_dmlbug() {        
    Profile p = [select id from profile where name='(some profile)'];
    UserRole r = [Select id from userrole where name='(some role)'];
    User u = new User(alias = 'standt', email='standarduser@testorg.com', 
            emailencodingkey='UTF-8', lastname='Testing', 
            languagelocalekey='en_US', 
            localesidkey='en_US', profileid = p.Id, userroleid = r.Id,
            timezonesidkey='America/Los_Angeles', 
            username='standarduser@testorg.com');
    Account a = new Account(Firstname='Terry', Lastname='Testperson');
    insert a;

    System.runAs(u) {
        a.PersonEmail = 'test@madeupaddress.com';
        update a;
    }

}
Run Code Online (Sandbox Code Playgroud)

unit-testing salesforce apex-code

32
推荐指数
3
解决办法
4万
查看次数

如何在VisualForce中格式化日期?

在Salesforce中,如果我将日期绑定到VisualForce页面,我该如何应用自定义格式?

例:

<apex:page standardController="Contact">
  <apex:pageBlock title="Test">
      <p>{!contact.Birthdate}</p>
  </apex:pageBlock>                   
  <apex:detail relatedList="false" />
</apex:page> 
Run Code Online (Sandbox Code Playgroud)

这将以默认格式输出日期:

2009年7月1日09:10:23 GMT 2009

如何将其(例如)转换为dd/mm/yyyy格式,如下所示:

01/07/2009

(希望这是一个相当简单的问题,但为了让Salesforce社区继续进行,我想我们需要一些简单的问题.)

salesforce date-format visualforce

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

将几个PNG组合成一个ICO文件

使用Windows ICO文件,您可以将多个不同大小的图像打包到同一个ICO文件中 - 然后Windows会根据需要选择不同的大小.(有关图标大小的信息,请参阅此处)

有很多免费的在线工具可以拍摄单个图像并将其制作成ICO文件,但是有没有免费的在线工具可以拍摄张图像并将它们整合到一个ICO文件中?

windows icons ico

18
推荐指数
2
解决办法
9256
查看次数

NSIS - 将EXE版本放入安装程序的名称

NSIS有一个您在脚本中定义的Name变量:

Name "MyApp"
Run Code Online (Sandbox Code Playgroud)

它定义了安装程序的名称,它显示为窗口标题等.

有没有办法从我的主EXE中提取.NET版本号并将其附加到名称?

这样我的安装程序名称将自动为"MyApp V2.2.0.0"或其他什么?

nsis

16
推荐指数
3
解决办法
1万
查看次数