小编kab*_*ros的帖子

没有BOM的UTF-8

我有javascript文件,我需要它们以UTF-8(没有BOM)保存,每当我在Notepad ++中将它们转换为正确的格式时,当我在Visual Studio中打开它们时,它们将恢复为带有BOM的UTF-8.我如何阻止VS2010这样做呢?

另一个问题是,Visual Studio中没有签名的UTF-8与没有BOM的UTF-8相同吗?

byte-order-mark visual-studio-2010 visual-studio

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

Nullable类型GetType()抛出异常

我刚刚从同事那里得到这个让我疯狂的测验.对于这段代码:

var x = new Int32?();
string text = x.ToString(); // No exception
Console.WriteLine(text);
Type type = x.GetType(); // Bang!
Run Code Online (Sandbox Code Playgroud)

为什么第一部分.ToString()在不抛出异常的情况下工作,然后调用GetType()会抛出NullReferenceException?

.net c#

10
推荐指数
1
解决办法
1480
查看次数

在DDD中打包存储库及其接口

在我工作的DDD之后的应用程序中,我们倾向于有一个服务层,其中包含Services + Repositories +存储库和服务的接口,它们都存在于同一个程序集中,而域模型将存在于不同的程序集中.感觉就像一个不适合领域模型的东西在这个大项目中混乱.

在遵循DDD原则和模式的应用程序中,如何打包存储库及其实现的接口?包装DDD应用程序的不同逻辑部分(或一般包装)的最佳实践是什么?每个逻辑分区应该都在自己的程序集中吗?它甚至重要吗?

c# domain-driven-design ddd-repositories

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

DDD - 服务层和存储库之间的重复

我已经研究了几个试图遵循DDD原则的应用程序,我注意到我们最终遇到了服务层和感觉像代码味道的存储库之间存在重复的情况.

对于服务层中的大多数操作,它似乎是直接映射到CRUD操作,GetAll,GetById,创建,删除等.架构流程在这些行中:我有一个控制器调用服务层调用一个调用ORMRepository,它与后端进行通信.

因此,例如GetAll将存在于SL和Repository中.现在,如果我们有一个变更/业务要求,GetAll应该忽略某些项目,我应该怎么做,我应该忽略存储库中的这些,还是应该进入服务层的业务逻辑?如果我们只是让服务层直接调用ORM,那么生活会不会更容易?

总结一下:我理解服务层可以抽象一些业务逻辑,但是在大多数情况下 - 它处理简单的CRUD操作,是不是更容易摆脱存储库?但是,如果SL 包含一些具有复杂业务逻辑的方法,那么它们应该通过存储库吗?从良好的设计角度来看,我是否应该支持一致性并始终通过存储库或只是保持简单,只使用存储库,而不是简单的一对一映射到CRUD操作.

PS:我发现似乎有类似的问题,但没有找到任何令人满意的答案

c# ooad domain-driven-design ddd-repositories

6
推荐指数
2
解决办法
1400
查看次数

css命名约定讨论(jqueryui)

我正在开发一个涉及大量客户端代码的项目.我们正在讨论css类和元素ID的命名约定,我很惊讶网上没有相关内容.

我注意到jquery ui使用一种约定,其中命名的样式被展平(比如ui-widgetname-classname- [subclassname]),而不是基于它们的层次结构命名这些类(.ui .widget .classname).我想这可以减少对DOM结构的依赖,但会创建极长的名称.

根据您的经验,您是否有命名css样式的样式指南?任何Dos和Donts以及要避免的陷阱?

期待您的回复

css

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

理解jquery源代码 - jquery.fn.init

我正在研究jQuery源代码是如何工作的,我理解jQuery对象只是将调用转发到jQuery.fn.initwhere jQuery.fn只是一个引用jQuery.prototype.

然后在源代码中,有这一行:

// Give the init function the jQuery prototype for later instantiation
jQuery.fn.init.prototype = jQuery.fn;
Run Code Online (Sandbox Code Playgroud)

有一个注释来解释代码的作用,但我仍然无法理解它.

  1. 有人可以解释一下这行代码意味着什么吗?它后面的实例化是在讨论什么,为什么我们需要将init的原型设置为jquery的prototpe?

  2. jQuery源代码使用jQuery.fn而不是直接使用jQuery.prototype是有原因(比如避免冲突或可读性等)吗?

javascript jquery

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

为什么nhibernate 3.3不允许在ICollection上使用私有的setter?

我将表单nhibernate 3.2升级到nhibernate 3.3,我在我的域类中定义了很多虚拟成员,如下所示:

public virtual ICollection<Movie> Movies { get; private set; }
Run Code Online (Sandbox Code Playgroud)

这在升级后停止工作,我得到了这个例外:

Following types may not be used as proxies:
ClassName: method set_Movies should be 'public/protected virtual' or 'protected internal virtual'
Run Code Online (Sandbox Code Playgroud)

现在我设法通过将setter更改为protected来解决问题,但我也很惊讶,将Collection属性更改为只有一个支持字段的readonly就可以了.

所以我有两个问题:

  1. 为什么NHibernate决定不允许使用私人制定者?它看起来不像.net之前的技术限制,因为它之前得到了支持,我不应该从设计的角度来看它,因为我们应该使用Collection Remove(),Add()等方法来操作它然后为什么允许受保护和公共制定者?

  2. 为什么(以及如何)使用具有支持字段的只读属性?

.net c# nhibernate fluent-nhibernate

4
推荐指数
1
解决办法
662
查看次数

REST设计:用于过滤服务的动词和资源名称

我正在开发一个清理/过滤服务,它有一个方法接收在xml中序列化的对象列表,并应用一些过滤规则来返回这些对象的子集.

  1. 在REST-ful服务中,我应该使用什么动词来表示这种方法?我认为GET是一个很自然的选择,但是我必须将序列化的XML放在请求的主体中,但有效但感觉不正确.其他动词似乎不符合语义.

  2. 定义Service接口的好方法是什么?命名资源/清理或/过滤器似乎很奇怪主要是因为在我看到的在线示例中,它始终是名称而不是用于资源名称的动词.

  3. Am I right to feel that REST services are better suited for CRUD operations and you start bending the rules in situations like this service? If yes, am I then making a wrong architectural choice.

  4. I've pushed to develop this service in REST-ful style (as opposed to SOAP) for simplicity, but such awkward cases happen a lot and make me feel like I am missing something. Either choosing REST where it shouldn't be used or may be …

rest webserver http restful-architecture

4
推荐指数
1
解决办法
1110
查看次数