猿问

在javascript中,不同的设计模式到底应对什么场景?

最近再看javascript高级设计模式,里面的模式很多,少说十几种吧。
但是目前感觉下来,
单例+工厂可以写出所有的需求,其他设计模式出场的机会似乎很少。

书里面举得一些运用设计模式的场景都很抽象,看了例子之后就像之前说的,用单例+工厂也可以解决。

很难理解什么场景用什么模式,现在就像填鸭一样把很多模式塞进脑子里,效率很低!

有没有什么文章简要的写出各种设计模式都有什么特点,适合什么场景呀?


精慕HU
浏览 1398回答 2
2回答

泛舟湖上清波郎朗

设计模式解决的问题从来就不是“能不能完成需求”,而是如何更好的完成需求。你说单例+工厂可以写出所有的需求,那我还能说,你甚至直接用面向过程来编程,照样能解决所有问题。 理论上来说只要计算机语言是图灵完备的,那么所有的可计算性问题都可以用这个编程语言来解决,这和是什么设计模式是没有关系的。不理解设计模式的应用场景是很正常的,我也没办法给你举例子,因为这东西都是在代码规模到了一定程度之后才会觉得好用的。就比如前端方面,写过工程化复杂页面的前端的同学肯定深有体会,现代化的Vue和React这些框架用起来实在是爽快,但是对于外行或者是新人来说,这些破玩意儿除了把前端搞得复杂无比之外有什么意义?我也只能建议你,最好是把这些设计模式记在脑子里,不要因为不理解它就放弃,等到你写代码到了某种程度的时候,突然灵光一闪,“以前在某某书上看到过某种设计模式,好像用在这里很合适啊”,这样你就算是入门了。
随时随地看视频慕课网APP
我要回答