我正在设计一个应用程序,但我无法指出正确的设计。我有一个想法,但它似乎不是GOF模式的一部分,所以我不确定这是否是一个好的方式。
我的项目从任何可能的15-20个文档中创建数据(文档都是相同类型的,但数据可能有很大差异)。一旦获得数据,就需要以支持的4种格式中的任何一种格式格式化并显示出来。而且,更复杂的是,尽管文档本身被大致划分为4-5个类型,但很少有文档(跨这些分类)以类似的方式格式化。
现在,我把它分成以下几个部分:
数据创建创建了一个具有公共接口的接口数据对象,该接口可以处理所有这些文档。
数据显示通过数据对象读取并以所需的方式显示它。
我的第一个问题是-我没有在GOF模式集中看到这样一个接口对象。这是一个好的设计决定,拥有这样的东西?
正如我前面提到的,只有两个文档是以类似的方式格式化的--跨分类。这里的问题是,其他文档--本应以类似方式格式化的文档--却不是。因此,我发现自己在一个场景中克隆代码,同时获取数据,这是我不想要的。
所以,我的第二个问题是--什么是处理这件事的最好方法?
如果有人能在这里帮助我,我将非常感激。
发布于 2010-02-02 06:28:35
不要试图提前把模式推得太紧。找出一些设计,然后试图揭示他们的模式。模式是用来交流的,可以被看作是可重用的,只用于某些特定的关注点。
所以你的主要问题是,你有X文档和Y渲染。
GoF模式的粒度低于您的问题。您将必须找到一个设计,以满足您非常具体的需求。如果有疑问,一定要选择最简单/更直观的设计。不,它们具有最丰富的模式和奇特的类层次结构。
我的2美分
发布于 2010-02-02 06:24:23
听起来像战略模式,整个应用程序是MVC和退化控制器。
https://stackoverflow.com/questions/2182190
复制相似问题