如何确定他使用的技术的设计模式?

时间:2011-01-21 11:07:07

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

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

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

就像任何开发者在那里分享经验的论坛一样,他们在整合某些技术时遇到问题,以及他们用来解决这些问题的设计模式

3 个答案:

答案 0 :(得分:6)

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

  

设计模式不会直接进入您的代码,而是首先进入您的大脑。一旦你的大脑充满了对模式的良好工作知识,你就可以开始将它们应用到你的新设计中,当你发现它已经变成一堆不可思议的丛林意大利面条代码时,你可以重新编写旧代码。

首先看看项目,想一想符合现实世界要求的顶级设计。 然后(你的大脑装满了模式)你将看到设计中的模式,并知道使用哪些模式。

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

用于集成这些技术的Patters在教程和手册中有明确定义。实际上没有太大的变化空间。请查看以下链接以获得理解:

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?

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