竹笋

首页 » 问答 » 环境 » 搞定设计模式,打通你成为架构师的任督二脉
TUhjnbcbe - 2023/9/22 20:33:00
济南白癜风医院 http://pf.39.net/bdfyy/bdfhl/211130/10011916.html

什么是设计模式?

设计模式OOP(面向对象编程)语言的一些最佳编程实践。这些从大量和长期的软件开发实践和试错中积累出来的通用解决方案(设计模式),往往能够解决软件开发面临的一些通用问题。

设计模式从何而来?

在年,ErichGamma,RichardHelm,RalphJohnson和JohnVlissides(也就是如雷贯耳的GOF-GangofFour)初版了一本名为《设计模式——面向对象软件的可复用元素》(DesignPatterns-ElementsofReusableObject-OrientedSoftware),书中首次提到了软件开发的设计模式概念。

根据《设计模式》作者所说,设计模式主要基于下面两个面向对象设计的原则而产生:

1.面向接口编程而不是面向实现编程

2.对象组合优于对象继承

之后在我们的实际的设计模式类图中,仍然会看到继承的出现,但有别于典型的通过继承获得父类的能力,而更多是通过继承来完成实际意义上的组合

设计模式有用吗?

设计模式在软件开发过程中主要有两方面的用途:

便于开发者建立统一的沟通方式

设计模式为特定的场景提供了标准的技术方案。比如,单例模式就是意味着使用一个单独的对象,所有熟悉单例模式的开发者都会采用单例模式,并且对外介绍的时候只要简单说一句,我用的是单例模式就可以了。

最佳实践

设计模式是从长期软件开发中演化而来,为解决特定问题提供了很好的解决方案。学习设计模式能够让出入软件开发的工程师也能够很好的进行软件设计,这个过程简单快速而且相对可靠。

设计模式有哪些类型?

在《设计模式》中总共提到的三种类型的设计模式:创建型、结构型和行为型。三种大类下又分别包含若干具体的设计模式,加起来共23种设计模式。不过,后面如果有机会,我们也会讨论到一种设计模式叫:JavaEE设计模式。

我们通过一个表格来介绍一下这些设计模式:

在后续的章节中,我们将逐个介绍各个具体的设计模式,尤其是他们的应用场景、类图设计、示例代码等。

设计模式是完美的吗?

就好像软件世界中的经典语录——XXX不是银弹,设计模式同样可以套用一下——设计模式不是银弹。好的设计好代码包括对业务的准确表达,要兼顾未来(这个未来可长可短)的扩展性和维护性,要充分考虑成员的理解水平。所以就像上图表达的一样,哪怕我们用上了各种软件原则、各种设计模式,也未必是是最好的选择。当然我们不会因此就放弃设计模式的学习和使用,它是一把上好的武器,只有理解了它,在合适的时候,我们才能让它绽放光彩!

笔者原文发布在CSDN,欢迎点击查看:

1
查看完整版本: 搞定设计模式,打通你成为架构师的任督二脉