面向抽象编程通俗理解

作者:hyj1254
程序要隔离变化:首先要抽象、剥离出固定的部分,即使剩余部分再怎么变化,它也是不变的;做到这一点就必须使程序依赖于抽象,而不依赖于实现;这里的“抽象”应该从广义上理解,它可以是interface也可以是抽象类,可以利用ioc,甚至一个方法都行,总之,这部分不能使用具体的实现。
举个生活中的例子:小明接到一个电话找他爸爸,但恰好他不在家,于是小明告诉对方晚点再打过来。过一会儿爸爸回来了,但刚才对方是谁小明忘了问,那他怎么向爸爸介绍这个人呢?
1、刚才有同事给你打电话了;
2、刚才有朋友给你打电话了;
3、刚才有个男的给你打电话了;
4、刚才有人给你打电话了。
小明会选句?随便点的就会选第4句,绝对不会错;认真点的说第3句,基本不会错。但第2句就不一定说了,没准这人是债主呢,“要是再不还钱,就XXXX”;第一句就纯属yy了。这说明依赖的范围越大就越可靠,这里的“大”可以理解为抽象程度的高低,面向抽象编程,道理其实就这么简单。
也可由单一职责原则引出面向抽象原则:职责太多就需要剥离,剥离后依赖的部分只能是抽象。
面向抽象编程通俗理解

猜你喜欢

转载自blog.csdn.net/zhexiaode/article/details/80000597
今日推荐