有人可以通过提供一些例子来解释域和应用程序服务之间的区别吗? 而且,如果一个服务是一个域服务,我会把这个服务的实际实现放在这个域的程序集中吗?如果是的话,我还会把这个服务注入到这个域服务中吗? 有些信息会非常有帮助。
想象一下有许多构造函数和虚方法的基类 public class Foo { … public Foo() {…} public Foo(int i) {…} … public virtual void SomethingElse() {…} … } 现在我想创build一个覆盖虚拟方法的后代类: public class Bar : Foo { public override void SomethingElse() {…} } 而另一个后裔,做更多的东西: public class Bah : Bar { public void DoMoreStuff() {…} } 我真的不得不将Foo的所有构造函数复制到Bar和Bah中吗? 然后,如果我在Foo中更改构造函数签名,是否必须在Bar和Bah中更新它? 有没有办法inheritance构造函数? 有没有办法来鼓励代码重用?
前言 我今天正在修改SQL Server 2008中的列,将数据types从货币(18,0)更改为(19,2)。 我从SQL Server得到错误“您所做的更改需要删除和重新创build下列表”。 在您抢答之前,请阅读以下内容: 我已经知道在工具►选项►devise器►表格和数据库devise器中有选项►取消选中 “保存需要重新创build表格的更改” checkbox 。 …所以不要回答这个! 实际的问题 我的实际问题是其他的东西,如下所示: 这样做是否有任何负面影响/可能的弊端? 当这个框被取消选中时,表是否实际上被丢弃和重新创build? 如果是这样,表是否复制了源表的100%完全相同的副本?
在java中使setter返回“this”是好的还是坏主意? public Employee setName(String name){ this.name = name; return this; } 这种模式可以是有用的,因为那样你可以像这样链接setter: list.add(new Employee().setName("Jack Sparrow").setId(1).setFoo("bacon!")); 而不是这个: Employee e = new Employee(); e.setName("Jack Sparrow"); …and so on… list.add(e); …但有点违背标准惯例。 我认为这可能是值得的,因为它可以使这个二传手做一些有用的事情。 我已经看到这种模式使用了一些地方(如JMock,JPA),但它似乎并不常见,并且通常只用于定义非常好的API,这种模式在任何地方都可以使用。 更新: 我所描述的显然是有效的,但是我真正想要的是关于这是否普遍接受的一些想法,以及是否有任何陷阱或相关的最佳实践。 我知道关于Builder的模式,但是我所描述的更多一点 – 就像Josh Bloch描述的那样,它有一个关联的静态生成器类来创build对象。
在Java中, IoC / DI是一种非常普遍的做法,广泛用于Web应用程序,几乎所有可用的框架和Java EE。 另一方面,也有很多大的Python Web应用程序,但除了Zope(我听说应该是非常糟糕的代码)之外,IoC在Python世界中似乎并不常见。 (如果你认为我错了,请列举一些例子)。 当然有几个stream行的Java IoC框架的克隆可用于Python,例如springpython 。 但是他们似乎都没有被实际使用。 至less,我从来没有在Django或sqlalchemy + <insert your favorite wsgi toolkit here>基于Web的应用程序,它使用类似的东西。 在我看来,IoC具有合理的优势,例如可以很容易地replacedjango-default-user-model,但Python中接口类和IoC的广泛使用看起来有点奇怪,而不是pythonic。 但也许有人有一个更好的解释,为什么IoC没有广泛使用Python。
可能重复: IPv6地址的文本表示的最大长度? 你会推荐什么作为存储客户端IP地址的数据库列的最大大小? 我现在设置为16,但是我可以得到一个比IPv6更长的IP地址吗?
我正在开发一个大型项目(对我来说),这个项目有很多类,需要进行扩展,但是我不确定如何规划我的程序以及类是如何交互的。 我在几个学期回到了OOD课程,并从中学到了很多东西。 比如编写UML,将需求文档翻译成对象和类。 我们也学习了序列图,但不知何故,我错过了讲座之类的东西,他们并没有真正坚持我。 在以前的项目中,我尝试过使用从课程中学到的方法,但是通常会以代码的forms结束,只要我可以说“是啊,看起来像我脑子里想的那样”,我不想挖掘泥土来添加新function。 我有一个史蒂夫麦康奈尔的代码完成 ,我不断听到是惊人的,在这里和其他地方的副本。 我阅读了关于devise的章节,似乎没有提供我正在寻找的信息。 我知道他说,这不是一个干净的过程,它主要是基于启发式的,但我似乎无法把他所有的信息都应用到我的项目中去。 那么在高级devise阶段(在开始编程之前),你需要做什么来确定你需要什么类(尤其是那些不是基于任何“真实世界对象”的类),以及它们将如何相互交互 ? 具体来说,我感兴趣的是你使用什么方法? 你所遵循的过程是什么,通常是一个好的,干净的devise,将密切代表最终产品?
我想要一个button占据整个列的宽度,但有困难… <div class="span9 btn-block"> <button class="btn btn-large btn-block btn-primary" type="button">Block level button</button> </div> 如何使button与列一样宽?
当我给一个图像的百分比宽度或高度只有它会增长/收缩保持其纵横比,但是如果我想要与另一个元素相同的效果,是否有可能在一起使用百分比绑在一起的宽度和高度?
有人可以请向我解释在.NET中的存储库模式,一步一步给出一个非常简单的例子或演示。 我知道这是一个很常见的问题,但至今我还没有find满意的答案。