design-principles

    2热度

    2回答

    让我们假设我有这样的功能: void foo (struct1 &v1, struct2 &v2, ..., structn &vn){ //do something with a subset some of the arguments... foo1(v1, v2, ..., vn); } void foo1 (struct1 &v1, struct2 &v2, ..

    1热度

    1回答

    它将是一个完全理论化的线程。 让我们来谈谈将数组更改为特定对象的方法,以便对其进行比较和处理。 例如,我们有一个EntityClass,EntityInterface,SomeRepository,SomeManager,SomeCommand。 实体是一个明显的对象,例如: class EntityClass implements EntityInterface { public $n

    1热度

    1回答

    我正在浏览以下link以了解高级别和低级别模块在依赖反转原则中的含义。 按照给出的解释,下面的代码片段是一个很好的/合适的例子吗? public class HighLevel { private IAbstraction _abstraction; public HighLevel(IAbstraction abstraction) { _abstr

    0热度

    2回答

    我不明白接口隔离原理和开放/闭合原理之间有什么不同。 我的理解是,ISP必须使所有的东西都依赖于接口和类上的OCP,我发现它们都可以用相同的方式实现,只有一个接口和一个类。

    0热度

    1回答

    我看到很多问题张贴在OC原则和一些有很好的回答,我仍然有一些怀疑这一点,下面是那些。 1)让我们假设我的应用程序中有注册模块,目前它只支持一个国家,我得到更改请求,我必须现在支持另外3个国家(注册表格不会改变,它仍然是一样的),它只是我必须根据国家对用户进行分类。只有更改我的应用程序才能从UI获取国家/地区数据并将其保存在数据库中,是否必须在此处应用OCP。 2)OCP是否意味着我的方法(函数)中

    2热度

    2回答

    我想知道哪些更好,为什么。我经常在日常工作中遇到情况,我喜欢“这种算法只要输入不是空的就行”或类似的东西。我通常只是return提前,因为,由于某种原因,几乎整个功能在if条件下包装似乎错误给我的想法。但是,我知道有些宗教不相信早期的陈述。 实施例: (1) function combine (strings , separator) { if (strings.length > 0)

    0热度

    1回答

    阅读this article后,似乎对我来说,压倒一切的是一种多态性,至少在C#编程。(不说java的总体规划中,但约) 这是正确的吗?

    2热度

    1回答

    我正在为客户端构建应用程序,我处于需要通过字符串引用字段值的能力,即用户使用字符串来定义他们想要更改其值的字段,这是抽象框架的一部分,所以技术上我不知道他们希望改变的字段的名称。当然,我可以使用哈希映射来做到这一点,但我正在考虑使用java反射,因为这允许字段保留为对象的字段,而不是将值编码为哈希映射。我用自己的个人作品进行了反思,但是我想知道是否使用Java反射实际上是不好的做法,我应该坚持使用

    0热度

    1回答

    我了解许多设计原则在某些情况下相互冲突。所以,我们必须权衡他们,看看哪一个更有利。 直到现在我知道SRP的原则,并做了我的设计很多基于这一点,但内部我感觉有时错误,而遵循 这个原则。现在我来了解TDA,我的感觉了与:) SRP更多的支持: -对象应该担心自己的关注不是其他任何人 TDA: -行为(这是依赖于它的对象状态)应该保持在对象本身内 例如: -我有不同的形状像矩形,正方形,圆等现在我必须计

    0热度

    1回答

    我在阅读有关面向对象的设计原则。我遇到了糟糕设计的特点。 这是很难改变,因为每一个变化会影响太多其他 部分系统。 (刚性) 当您进行更改时,系统的意外部分会中断。 (脆弱) 很难在其他应​​用程序中重用,因为它不能从当前应用程序中解开 。 (不动) 我能够理解前两个,但第三个是有点困难,我听不懂。 是否需要从基类中提取相关类的共同特征,从重复的代码中提取方法?但它说hard to reuse in