我正在设计一个应用程序,我无法指出相同的正确设计.我脑子里有一个,但它似乎不是GOF模式的一部分,所以我不确定它是否是一个不错的方式.
我的项目从任何可能的15-20个文档创建数据(文档都是相同的类型,但数据可以有很大不同).获得数据后,需要将其格式化为任何支持的4种格式并显示.此外,使问题复杂化,即使文档本身大致分为4-5种类型,也很少有文档(跨这些类别)以类似的方式格式化.
现在,我按以下方式拆分它:
数据创建创建一个具有通用接口的接口数据对象,可以处理所有这些文档.
数据显示读取数据对象并以所需方式显示.
我的第一个问题是 - 我没有在GOF模式集中看到这样的接口对象.这是一个很好的设计决定吗?
正如我之前提到的,只有两个文档的格式相似 - 跨分类.这里的问题是其他文档 - 应该以类似的方式格式化 - 不是.所以,我发现自己在获取数据时在一个场景中克隆代码,这是我不想要的.
所以,我的第二个问题是 - 处理这个问题的最佳方法是什么?
如果有人能在这里帮助我,我将非常感激.
不要试图提前推动太硬的模式.弄清楚一些设计,然后尝试揭示其中的模式.模式旨在进行通信,并且可以被视为仅对某些特定关注点可重用.
所以你的广泛问题是你有X文档和Y渲染.
GoF模式的粒度低于您的问题.您必须找出符合您特定要求的设计.如有疑问,请始终选择最简单 /更直观的设计.没有他们一个具有最多的模式和花哨的类层次结构.
我的2美分