2011-01-31 39 views
0

我已经进入设计模式很长一段时间(比如说4个月),并且在我们的项目中实现了很多。我已经获得了知识(虽然现在不会说自己是一个主人),我相信我能很好地控制他们。在框架设计中需要指导

我正在考虑逐渐将这些知识转化为框架设计。但我对此没有任何经验。

你们能否让我在制作至少最初的步骤。

感谢

+4

第1章:不使用它们只是使用它们的缘故。 – 2011-01-31 09:35:47

回答

2

好框架将需要使用一些设计模式,它可能是有必要。

比方说 - Spring MVC。很明显,你将使用MVC。

让我们假设GWT。 GWT最适合MVP。

让我们说休眠。你将会使用DAO。 (有人说这不是真正的核心定义的设计模式,但它现在被全球视为设计模式)

依此类推。没有真正的吸引力。我会给你一些我的想法,你可能会认为它们是使用设计模式的一些“步骤”:

  1. 了解他们,读一本书。
  2. 了解每天图书馆。例如,Java SE中的设计模式很多。 BalusC对此提供了非常好的答案,check it out。我认为这是特别重要的步骤
  3. 选择一个你需要的框架,学习它。 阅读文档,阅读本书。请参阅作者及其创作者的建议。
  4. 服从好的做法。 F.E. DRY,单元测试等。设计模式的真正需求将弹出你甚至不会注意到:)它不是像'哦,我要实现这个很酷的模式',它就像'我需要改善它,这很糟糕,让我们看看这是我需要的!'。
  5. 始终保持简单。想想灵活性,可重用性,但总是想到简单。使用清晰和简单的API来处理行为是可以预测的,这会更好。
1

框架设计比应用程序设计困难得多。我刚刚在我的博客上写了一篇关于它的文章,并提出了三个我遵循框架设计的理想。

  1. 获取设计释放
  2. 保持可见SDK小&集中
  3. 让之前正确的SDK好用

点1和2是重要的,因为一旦释放而成,重构可见的sdk会导致重大更改。如果您希望开发人员使用您的sdk,那么第3点很重要。 对我而言,这些理想支配我在框架设计中做出的每一个决定。我必须在整个过程中反复考虑它们。我在文章中提出了一些技巧来实现这些目标。

Framework/SDK/API Design Tips

在设计模式方面,我想我也跟着你有类似的经历。几年前我了解了设计模式,并意识到它们可能有多强大(和破坏性)。我在一些程序中使用了一些程序,并最终在框架中使用了一些程序。我发现在我的框架中,我有机会应用我没有用于应用程序的新模式(我的头顶上,我只能想到模板方法,我相信我在我的框架中使用了更多的工厂)在应用程序中,我不记得所有的细节)。

祝你好运。我认为框架设计是困难的,但也是有益的。

免责声明:我不是在架构设计方面的专家......只是我已经涉足的设计模式