设计模式无招胜有招之设计原理和方法

编程入门 行业动态 更新时间:2024-10-10 01:17:45

设计模式无招胜有招之设计<a href=https://www.elefans.com/category/jswz/34/1770123.html style=原理和方法"/>

设计模式无招胜有招之设计原理和方法

本文是“无招胜有招”的核心。首先声明这里讲的设计原理和方法基本上是基于“可扩展性”做出的。当系统面临变化的时候,如何抵挡变化对系统的冲击。


先看一个例子,如果一个类A调用了B中的一个方法,那么我们说A依赖于另一个类B。你可以想象成A骑在B身上。当B动的时候,A也要跟着动。我们的目标是B自己都跟自己的,A完全没有感觉。


面向对象设计中的多态(虚函数,动态绑定)可以实现这样的目标。所谓的多态就是保持函数signature不变的情况下,实现不同的功能。

假设有一个抽象类Animal,有两个具体类Cat和Dog。Animal中有虚函数makeSound().

我们就可如下编程

Animal animal = getAnimal()//   这个getAnimal里面可能有 new Dog()这样的语句。

animal.makeSound();


可以看到,不论狗如何变化,这里都不会变化。甚至当狗变成猫的时候,这里也不会有任何变化。


这个就是可扩展性的最基本的语法上的支持和最基本的原理。


那么怎么样使得你的代码能演变成这样的代码呢?

这里提供了几个方法。

解耦,封装变化,抽象,优先使用组合,针对接口编程


更多推荐

设计模式无招胜有招之设计原理和方法

本文发布于:2024-02-27 15:35:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1707153.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:原理   模式   方法   无招胜有招

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!