# 设计模式 Java

# 什么是设计模式

设计模式这个术语是上个世纪 90 年代由 Erich Gamma、Richard Helm、Raplh Johnson 和 Jonhn Vlissides 四个人总结提炼出来的,并且写了一本 Design Patterns 的书。这四人也被称为四人帮(GoF)。

设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

设计模式代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。

设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。

# 开闭原则

由 Bertrand Meyer 提出的开闭原则(Open Closed Principle)是指,软件应该对扩展开放,而对修改关闭。这里的意思是在增加新功能的时候,能不改代码就尽量不要改,如果只增加代码就完成了新功能,那是最好的。

# 里氏替换原则

里氏替换原则是 Barbara Liskov 提出的,这是一种面向对象的设计原则,即如果我们调用一个父类的方法可以成功,那么替换成子类调用也应该完全可以运行。

# 设计模式与架构模式

设计模式用于指导如何编写代码。

架构模式用于指导如何设计软件。