小编Wag*_*rdi的帖子

存储库模式是否会导致ORM死亡?

除了将关系数据转换为对象模型外,ORM还有其他角色,如:

  1. 延迟加载
  2. 自动更改检测
  3. 交易

但是,使用Repository模式将ORM的DTO转换为域模型时,会发生以下情况:

  1. 无法使用Lazy Load的好处,因为我需要填充我的整个域模型存储库不知道域需要什么数据.
  2. ORM无法检测到更改,因为域模型不是来自ORM世界.
  3. 由于缺乏关于ORM领域知识,不能再一次做很多交易

问题1:我是否遗漏了一些差距,我可以在方案中获得延迟加载,事务和自动更改检测的全部好处?或者这些好处更多是针对另一种方法(如Active Record)而不是DDD?

问题2:为什么在DDD书籍中提到了?仅针对域模型的关系和延迟加载,交易和变更检测完全放弃

有些平台采用代码优先方法,这是一种改善这些问题的方法,但是这个功能并不总是存在于许多环境中,或者根本无法使用(例如在遗留数据库中),因此它不是解决方案.

orm domain-driven-design repository-pattern

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

从Web编码的性能测试中访问响应

WebTestRequest request1 = new WebTestRequest((this.Context["Environment"].ToString() + "/IBWeb/DefaultSB.aspx"));
request1.Headers.Add(new WebTestRequestHeader("Referer", (this.Context["Environment"].ToString() + "/IBWeb/")));
ExtractHiddenFields extractionRule1 = new ExtractHiddenFields();
extractionRule1.Required = true;
extractionRule1.HtmlDecode = true;
extractionRule1.ContextParameterName = "1";
request1.ExtractValues += new EventHandler<ExtractionEventArgs>(extractionRule1.Extract);
yield return request1;
request1 = null;
Run Code Online (Sandbox Code Playgroud)

我有一个如上所述的编码网络性能测试..测试运行没有任何问题..但我想访问WebTestRequest对象的输出/响应.这样做的最佳方法是什么?

c# performance-testing

7
推荐指数
1
解决办法
1636
查看次数

Amazon ECS任务定义 - CPU单元和内存 - 设置容器以使用100%的EC2可用资源

我想在ECS集群上运行多个不同的服务,每个服务应该在单个EC2实例上运行.所有服务的EC2实例类型都相同.我希望这些服务能够使用他们所有的主机EC2可用资源.

我的假设是,如果我只用柔软的内存参数(不使用硬之一)在任务配置,这将让我的容器实例使用所有可用内存的EC2实例收留了它,而且我也不会限制.那是对的吗?

至于EC2类型(例如t2.micro [vCPU = 1,Memory = 1Gib])!! 可以简单地说:

{  
   ...
   "memory": 1024,
   "cpu": 1024,
   ...
}
Run Code Online (Sandbox Code Playgroud)

由于EC2应该已经设置了一堆容器服务要求.

amazon-web-services amazon-ecs

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

具有数据库使用的设计模式

我看到99%的设计模式示例(策略,工厂,装饰器等)具有硬编码信息,每个产品在不同的类中等等.但是,在大多数现实应用中,主要是数据库使用,我们知道为每个产品创建一个类,或使用硬编码信息是不切实际的.

我知道它们都是例子,但我认为从一本书中学到以后这很痛苦:

为店铺NYStore,ChicagoStore创建CheesePizza,VeggiePizza ...和类的课程

对于工厂模式..而在现实生活中,所有这些比萨饼和商店只是数据库中的行.

那么,在这种情况下,使用数据库和设计模式的最佳方法是什么?

  1. 如果比萨饼和商店在数据库中,则不需要使用设计模式.
  2. 使用设计模式,但是每个Pizza或Store创建一个类,只需创建一个从数据库读取数据的类实现(例如DatabasePizza和DatabaseStore!).

我理解设计模式与支付业务的重要性,例如.(现金,信用卡,比特币..)每种支付类型都有独特的专业化,而且业务不完全在数据库中(信用卡需要打印收据,比特币需要访问网络服务等).

但我正在质疑的是:在真正的比萨餐厅,价格,配料,配料,所有根据不同的地方(芝加哥,纽约..)都位于数据库中,设计模式的使用是否真的有必要?当许多企业位于数据库时,设计模式的使用自然会减少?

database oop design-patterns

5
推荐指数
1
解决办法
1623
查看次数