您如何决定选择哪种设计模式?
我的开发项目方法一直都是。
我不确定设计模式在哪里有用。
答案 0 :(得分:6)
通常在构建原型之前,始终在构建应用程序之前,您必须对其进行设计。在这里,设计模式的知识非常方便,因为它不仅可以帮助您进行设计,还可以在与其他开发人员交流您的想法时。例如,当您告诉另一个开发人员某个特定类是工厂或另一个被实现为Singelton时,他们会立即更好地掌握他们做什么和/或如何做他们做什么以及他们如何适应应用程序的其余部分。 / p>
我非常推荐O'Reilly的“Head First Design Patterns”来帮助你入门。
答案 1 :(得分:3)
它将在第4步和第6步中有用......: - )
在原型设计中,设计模式非常方便。如果现有的架构/设计不够灵活,那么在现有原型中添加更多功能将非常麻烦。虽然这并不意味着你应该总是使用设计模式。这是他们教授的原则很重要,比如开放式原则,信息隐藏以及如何正确地做到这一点以及何时,有利于组合而非继承等。所有这些指导原则都是为了在现有应用程序中添加更多功能/原型不那么痛苦。
在您的开发生涯中,您会看到许多地方都会使用这些原则。没有必要严格遵循某些模式,但这些模式背后的原则应该尝试遵循。
希望有所帮助。
答案 2 :(得分:2)
第6步(构建应用程序)将是一个不错的选择。虽然我理解Neil关于在设计阶段(你没有真正拥有)决定设计模式的评论,但我发现它们经常在构建过程中出现,因为你正在编码/重构。当然,预先知道设计模式是什么有帮助,如果不使用它们就很难知道它们,所以它有点恶性循环。
答案 3 :(得分:1)
设计模式的使用是任何开发中固有的。你列出与否,很多实现都遵循设计模式。对设计模式的了解肯定有助于设计一个强大,可扩展,易于维护且易于理解的应用程序。在很多情况下,使用设计模式有助于优化您的解决方案。在像您提到的典型软件开发周期中,在原型设计阶段使用设计模式至关重要。
作为一个例子,假设您需要实现一个支持使用不同协议(XML / Http,WebServices等)进行通信的通信层。在原型设计中,您可以轻松实现图层,并使您的应用程序直接使用图层进行通信。如果您在原型设计中使用Factory模式和任何一个协议的简单实现,那么扩展最终应用程序就变得轻而易举。这不仅节省了整体开发时间,还确保了更清洁的开发方法。