我正在努力增强我在软件(工程)的“设计”方面的知识,而且我更多地进入Java世界。
我遇到的第一件事是GoF书,根据我的理解,它是“核心”或“基础”设计模式(如果我在解释它时错误,请更正)。
我遇到了以下术语,因为我试图深入了解设计(模式)知识。
1)J2EE design pattern
。
2)Patterns of Enterprise application architecture
。
3)GoF patterns
。
我有点困惑为什么有很多设计模式,并在什么时候使用?特别是,#1和#2中的模式之间有什么区别?
任何简单的解释都会有很大的帮助。
答案 0 :(得分:3)
正如有许多关于编程的书籍一样,有很多关于模式的书籍;所以最简单的答案是“差异”:这三本书是由不同的作者写的。
GoF书(3)是第一个将模式概念应用于软件工程的书,因此从这个意义上说,我认为大多数人都会认为它是后续模式相关工作的“基础”。 p>
请注意,架构模式和设计模式是独立的概念,因为架构和设计代表不同的抽象层次(架构是更高层次)。
何时应用这些模式的任何详细解释都需要比SO更长的格式(因此上述作者出版书籍的动机)然而,大多数(如果不是所有)常见模式都会在SO上有许多单独的线程。 / p>
最后,J2EE模式的一个关键区别是它们是特定于语言的(Java),而另外两本书是语言无关的。