不知道如果我想要标题捕捉在这里说。

当在OO设计应该是我分裂我的对象成其最具体的领域 - 所以,如果我有一个工厂对象,以创建对象,但后来交易我碰到创建对象的方式用于其他用途,即使他们可能是相同的对象是什么值得创建一个单独的fcatory或只是添加到exsiting。

我最大的担心是有吨的东西,或拆分的对象膨胀起来类和稀释我的项目置于类的海洋。

任何帮助?

修改

我想在一个侧面说明/子课题的部分我想找出粒度级别,你应该在程序中使用。类,低应该怎么你去吗?

有帮助吗?

解决方案

  

我最担心的是膨胀了类与吨的东西,或   拆分对象和稀释我   伸入一个类的海

这是一个非常有效的点,并且在任何合理甚至规模的项目,很难得到正确的前面,特别是因为现实,要求自己随着时间的推移在大多数情况下。 这是“重构”进来,你根据你知道在任何给定的点什么,尽量不要太让信仰太多的飞跃,以你认为系统可能演变设计。

既然你知道你正在构建什么,现在,你设计你的类试图尽最大可能地利用面向对象的概念 - 例如,封装/多态性。这本身,像其他人指出为好,可出了名的难以实现,多数民众赞成在经验,无论是在设计OO系统以及域名能真正派上用场的知识。

设计基础上,你知道是什么 - >构建它 - >审查 - >重构它 - >重新设计 - >和它的推移和..

其他提示

查找细节和责任的正确的水平是什么使OOP的设计非常困难。我们可以帮助您与特定的案件,但不与任何这种一般。如果有算法或如何解决这个问题的方法严格,每个人都可以是一个面向对象的设计。

拇指我喜欢来决定的规则“是这样变得太大了吧?”是“我可以简明地解释它的目的是什么?”如果你开始有介绍警告和大量的遁词来解释你的设计的一个组成部分的功能(无论是类,成员变量,方法或其他)它可能是一个很好的指标,它变得太复杂,应该被分拆

在您的特定情况下,如果你已经有了一个工厂对象,然后DRY原则(不要重复自己)会说,这是一个坏主意,创建另一个工厂做同样的事情。

这是你面临的一个实际问题?或者仅仅是一个了解您的代码可能会在未来成长的恐惧?

如果您使用的是同一类型的对象以解决截然不同的问题,那么可能需要对类重新设计,以重点关注点分离。如果你需要一个更具体的答案,你需要提供一个类型的类将需要这个功能的一个例子。


  

我可能有严重的措辞东西   在问:我想我不会被重复   我它只是更多的情况下   放在哪里的代码,它可能是   加入是已经存在的工厂   创建exporing设计对象   数据到Excel电子表格。在   另一方面,我可以看到它也可以   拥有自己的工厂进口   Excel数据。这两家工厂会   产生但内相同的对象   运作是完全不同的。 -

如果你没有做或做任何类的抽象计划(子类或使用接口),你可能不需要在所有使用工厂模式。工厂模式一般最适合于一个基类型的供给对象或实现特定接口。

  

这两个   工厂会产生相同的   对象,但内部的工作是   完全不同。

不知道如果我理解正确的你,但这听起来像在 AbstractFactory 图案。

scroll top