小编Geo*_*uer的帖子

如何将数据验证与我的简单域对象(PO​​CO)分开?

这个问题与语言无关,但我是C#家伙所以我使用术语POCO来表示一个只能预先形成数据存储的对象,通常使用getter和setter字段.

我只是将我的领域模型重新设计成超级PCOO,并且对于如何确保属性值在域中有意义而留下了一些问题.

例如,服务的EndDate不应超过服务所在合同的EndDate.但是,将检查放入Service.EndDate设置器似乎违反了SOLID,更不用说随着需要完成的验证数量增加,我的POCO类将变得混乱.

我有一些解决方案(将在答案中发布),但它们有其缺点,我想知道解决这一难题的最佳方法是什么?

language-agnostic separation-of-concerns solid-principles modular-design

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

Oracle - 如何向用户授予对其他用户对象的权限

我需要向用户TARGETUSER提供选择/插入/更新用户SOURCEUSER的所有表的权限(我可以从这里看出这一切)以及运行所有存储过程的能力.

基本上,如果我能为TARGETUSER提供SOURCE_USER对象的所有非ddl活动的能力,我不会抱怨.我该怎么做呢?

oracle permissions grant

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

jQuery.ready是否对文档以外的任何内容有用?

我正在考虑jQuery $(document).ready事件,我发现我从未见过有人将它应用于除此之外的任何事情$(document).它还有其他合法用途吗?

jquery events

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

Resharper - 如何关闭'私人'访问修饰符?

我不喜欢在我的访问修饰符之前放置'private'.默认情况下它们都是私密的,它只是视觉上的混乱.

如何关闭resharper不断标记"私人"的所有内容?

resharper settings

7
推荐指数
2
解决办法
991
查看次数

Powershell按自定义排序表达式排序

我有一个包含编号目录的目录:

Archive
 |-1
 |-2
 |-3
 |-...
Run Code Online (Sandbox Code Playgroud)

我需要以数字方式创建下一个目录.我正在做的事情

$lastArchive = ls .\Archive | sort Name | select -Last 1
$dirName = '1'
if($lastArchive) {
  $dirName = ([int]$lastArchive.Name)+1
}
Run Code Online (Sandbox Code Playgroud)

这当然是失败的,一旦我们达到10,通过排序规则跟随1而不是9.我需要排序表达式实际上是[int]$_.Name- 我将如何做到这一点?

sorting powershell

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

如何将Node和Express与coffeescript和requirejs一起使用?

这就是我想要的.

  • 使用快速Web服务器的节点应用程序
  • 在服务器上使用coffeescript,更重要的是在客户端上使用coffeescript
  • 在客户端上使用require.js(最终在服务器上)

我能够找到为客户端连接 coffeescript的推荐方法是使用connect-assets.这似乎需要使用jade helper来实际编译coffeescript,例如.

!=js('monalisa.js')
Run Code Online (Sandbox Code Playgroud)

似乎编译monalisa.coffee并生成正确的<script>标记.现在我想使用require.js,在这里我偶然发现.如何确保connect-assets在不使用jade helper的情况下正确编译所有内容?

这是我相当简单的app.js:

require('coffee-script');

var express = require('express')
  , http = require('http')
  , path = require('path')
  , connectAssets = require('connect-assets');

var publicDir = path.join(__dirname, 'public');

var app = express();

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');

  app.use(express.favicon());
  app.use(express.logger('dev'));

  app.use(express.bodyParser());
  app.use( connectAssets() );
  app.use('/public', express.static(publicDir));

  app.use(express.logger());
  app.use(express.methodOverride());
  app.use(app.router);
});

app.configure('development', function(){
  app.use(express.errorHandler({
    dumpExceptions: true,
    showStack: true
  }));
});

app.get('/', require('./routes').index);
app.get('/monalisa', require('./routes/monalisa').monalisa);

http.createServer(app).listen(app.get('port'), …
Run Code Online (Sandbox Code Playgroud)

node.js coffeescript requirejs express

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

如何组装将log4net重定向到更新版本

我刚刚在我的项目中升级了log4net,并且遇到了一些程序集绑定问题,因为一个组件依赖于旧版本的log4net.

该组件预期的版本是

log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821
Run Code Online (Sandbox Code Playgroud)

我的版本是

log4net, Version=1.2.12.0, Culture=neutral, PublicKeyToken=669e0ddf0bb1aa2a
Run Code Online (Sandbox Code Playgroud)

如何正确解析此绑定(只有一个api差异,此组件无关紧要).

我已经尝试将以下内容添加到我的web.config但它不起作用.

  <dependentAssembly>
    <assemblyIdentity name="log4net" publicKeyToken="1b44e1d426115821" culture="neutral" />
    <bindingRedirect oldVersion="1.2.10.0" newVersion="1.2.12.0" />
  </dependentAssembly>
Run Code Online (Sandbox Code Playgroud)

.net assembly-resolution .net-assembly assembly-binding-redirect

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

pdf文件中的ID字段是什么?

我正在努力改进ApprovalTests框架中的pdf scrubber并查看使用PdfSharp生成简单pdf我看到它的内容如下.

有谁知道底部的ID字段是什么?

%PDF-1.4
%ÓôÌá
1 0 obj
<<
/CreationDate(D:20131119194420-06'00')
/Creator(PDFsharp 1.32.3057-g \(www.pdfsharp.net\))
/Producer(PDFsharp 1.32.3057-g \(www.pdfsharp.net\))
>>
endobj
2 0 obj
<<
/Type/Catalog
/Pages 3 0 R
>>
endobj
3 0 obj
<<
/Type/Pages
/Count 1
/Kids[4 0 R]
>>
endobj
4 0 obj
<<
/Type/Page
/MediaBox[0 0 612 792]
/Parent 3 0 R
/Contents 5 0 R
/Resources
<<
/ProcSet [/PDF/Text/ImageB/ImageC/ImageI]
/ExtGState
<<
/GS0 6 0 R
>>
/Font
<<
/F0 8 0 …
Run Code Online (Sandbox Code Playgroud)

pdf

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

如何在两个聚合根上建立多对一的排序顺序

采用有效聚合设计中提出的具有多个版本的产品的域.在本文中,Vaughn得出的结论是,Product和Release都应该是它们自己的聚合根.

现在假设我们添加了一个功能

  • 作为一名发布经理,我希望能够对发布进行排序,这样我就可以创建时间表,为我们的用户推出更大的史诗

我不是具有特定需求的PM,但他们希望能够在UI中对发布进行排序似乎是合理的.

我不确定这应该如何运作.每个Release都有自己的订单属性,但重新排序会涉及在同一个交易中更改多个聚合.另一方面,如果该信息存储在Product聚合中,您必须拥有一个product.setRelaseOrder(ReleaseId[])类似于奇怪的数据的方法,以存储在与Releases完全不同的地方.更糟糕的是,添加一个版本将再次涉及修改两个不同的聚合!我们还能做什么?ProductReleaseSortOrder可以是它自己的聚合,但这听起来完全荒谬!

那么该怎么办?目前我仍然倾向于let-product-manage-it选项,但这里的正确性是什么?

domain-driven-design aggregateroot

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

什么是System.Reflection.Module?

刚刚Assembly.LoadModule()在intellisense中注意到了.我看到它返回对基本未记录的Module类的引用.

我知道反思很好,我从来没有听说过模块吗?这些是什么?这个名字很诱人.

.net reflection base-class-library

7
推荐指数
2
解决办法
785
查看次数