编程的圣杯是一次解决问题,并永远重复使用该解决方案。然而,尽管我付出了最大努力,但我发现我经常在重新处理熟悉的问题。除了GoF设计模式之外,有几次我设计了日历,内容管理和个人/组织地址簿,仅举几例。
我想知道是否有任何好的资源(书籍,网站,等等)我可以仔细阅读常见的高级商业设计。我确实意识到我的项目和我可能发现的任何模式之间的要求会有所不同,但我确实希望事情的核心保持不变,那将会有很多来之不易的经验。此外,尽管如此,我只是喜欢阅读有关设计出现的决策背后的过程和理由。当商店,初创公司和编码员对他们的设计透明时,我喜欢它。 (例如37Signals,Garret Dimon)
这个post触及了这个主题并将这些高级设计模式称为“功能设计模式”,但我不确定这是我所描述的常用术语。对“功能设计模式”的搜索并未发生太多变化。我还搜索了“领域特定设计模式”和“数据模型设计模式”,后者提供了an interesting result所以也许这更符合目标。你知道我想用什么术语描述什么?有什么好资源吗?是否有其他商店/程序员透明地展示他们的新设计?
答案 0 :(得分:2)
如果您还没有听说过the Hillside Group,Pattern Languages of Programs事件或the books that have come out of this effort,我会从那里开始。我对此努力感到高兴。
答案 1 :(得分:2)
您是否看过数据建模,尤其是conceptual schema?
我认为你必须注意这些抽象模式可以实现的目标。模式越抽象,它可以提供的实现细节就越少。魔鬼在细节中 - 因此抽象模式仍然需要完成工作。
我不相信有一个解决方案可以解决所有可能出现的问题。从务实的角度来看,我认为研究管理复杂性的方法比解决每一个问题的模式更有用。
答案 2 :(得分:0)
我发现了以下内容 - 不确定它们与您的相关性如何:)
书籍通常引用:
- Gamma,Helm,Johnson和Vlissides的设计模式(Addison Wesley Longman,1995。ISBN 0-201-63361-2)
答案 3 :(得分:0)
我也想到了分析模式。
我相信它正在阅读Martin Fowler。 (谷歌告诉我,我的记忆是正确的......)
答案 4 :(得分:0)
谢谢大家的反馈意见。我知道程序员工具箱常见的低级设计模式,我过去曾访问过Hillside Group。我会在那里度过更多时间。
当我进一步调查时,我认为我所追求的设计模式与数据建模密切相关。我正在重新设计一个日历数据模型,由于新出现的要求,一些增强/修复有点尴尬。不幸的是,随着设计的进行,有时我必须走得更远,沿着一条路走下去,让需求出现,稍微回溯一下,然后根据经验发现的缺点进行改造。根据我的经验,数据模型不仅在确定系统的优雅性,而且在确定其UI方面发挥着重要作用。
我将继续发布推荐的其他资源。
答案 5 :(得分:0)
对于好的数据建模书籍:
Hay:企业模型模式
福勒:分析模式
Silverston:数据模型资源手册(第1,2,3卷)
Blaha:数据建模的Pattenrs