OOP和设计模式如何相关?

28 oop design-patterns

设计模式不是OOP原则的扩展吗?为什么这两个概念是分开处理的?如果知道设计模式的人肯定会成为OOP专家,我们能相信吗?

drf*_*oob 39

一个设计模式是一个经得起考验的解决方案,以一个常见的编程问题.它不一定是面向对象的编程问题,但这种情况最常见.

学习编程对很多人来说并不难.这就像玩乐高积木一样:你可以随心所欲地将一些不同的部分组合在一起.有时你会做一些很酷的事情,但大部分时间你都会做一些事情=).通常,你玩的时间越长,你获得的越多.

学习设计模式正在学习构建程序的好方法.你实际上是在阅读几十年来一直在建设事物的人的建议.他们将最常见的解决方案提炼成简单易懂的知识花絮,并留下令人难忘的名字.这就像数字时代的学徒:你的长辈正在给你最好的建议.你可以接受它并领先于游戏,或者忽略它并重复所有的错误.

为什么设计模式和OOP分开处理? 因为他们是不同的科目.一般来说,你学习编程,然后学习如何思考编程.我希望它是另一种方式,但我不会屏住呼吸.

知道设计模式的人是否必定是OOP专家?没有.


Joe*_*ger 5

设计模式和面向对象编程没有必然的联系。碰巧大量的设计模式都涉及面向对象编程。

设计模式是一种常用的程序创建方法。寻找某个领域的通用模式语言的方法可以扩展到函数式编程或桥梁构建,或者回到它开始的地方,即架构。OO 是一种特定的概念范式,某些编程模式适合其中。

这种情况就像维恩图 - 方法并不相反,但它们并不相同,并且它们在有些不同的逻辑 级别上运行。