【问题标题】:how do one decide a design pattern for the technology he uses? [closed]一个人如何决定他使用的技术的设计模式? [关闭]
【发布时间】:2011-01-21 11:07:06
【问题描述】:

考虑这些技术的struts + spring + jpa,一个人决定他需要一个服务定位器设计模式,sessionfacade等等......

我的问题是我在哪里可以找到或找出用于开发项目的最佳设计模式?

就像任何论坛一样,开发人员在那里分享他们在集成一些技术时如何面对问题以及他们用来解决这些问题的设计模式的经验

【问题讨论】:

    标签: java spring design-patterns jakarta-ee ejb


    【解决方案1】:

    来自Head First - Design Patterns的简短引用:

    设计模式不会直接进入您的代码,它们首先会进入您的大脑。一旦你的大脑对模式有了很好的工作知识,你就可以开始将它们应用到你的新设计中,当你发现旧代码退化为一团不灵活的丛林意大利面条代码时,你可以重新编写它。

    首先查看项目,想出一个符合现实世界需求的顶层设计。 然后(让你的大脑充满模式)你会看到设计中的模式,并且会知道使用哪些模式。

    请不要围绕美丽的图案构建您的设计。除了一个例外:您提到的这项技术带有一些最佳实践模式。您应该了解并使用它们(它们中的大多数无论如何都构建在框架中,您无法避免使用它们)。对于那些你应该知道并使用它们的人,因为其他人在看到基于 Spring、JPA、J2EE 的设计时会期望这些模式......

    【讨论】:

    • (+1) 这是唯一有效的一般答案——即使需要考虑第二点:“使用这个框架的其他人是如何做到的”——这就是问题所在(在我看来)
    • @Ralph 是的,我的问题是这样的“使用此框架的其他人是如何完成的”
    【解决方案2】:

    应用设计模式是个人经验的问题,在某种程度上也是风格和偏好的问题。学习它只需要练习,知识没有快速通道,抱歉:-) 当然,其他人的书籍和故事是很好的信息来源——但仅此而已。您需要了解如何以及何时应用所有这些信息。最好的学习经历是自己的错误,所以不要害怕犯错误。

    如果你想收集战争故事,你可能想在programmers.stackexchange.com上问这个。

    【讨论】:

      【解决方案3】:

      这些技术的集成模式在教程和手册中有很好的定义。真的没有太大的改变空间。请查看以下链接以了解情况:

      http://static.springsource.org/spring/docs/3.0.x/reference/orm.html

      http://static.springsource.org/spring/docs/3.0.x/reference/web-integration.html#struts

      一旦您使用所描述的技术完成了所有集成,您就可以稍微尝试一下,使其更适合您的目的。

      他们自己正在推动这些技术使用一些模式。请查看以下问题了解更多详情:

      What design patterns are used in Spring framework?

      Which pattern does Hibernate follow?

      正如已经提到的,应用设计模式是一个经验和大脑的问题;)它迟早会到来。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-29
        • 1970-01-01
        • 1970-01-01
        • 2011-02-01
        相关资源
        最近更新 更多