精通Java设计模式从初见到相爱全集(1-23)

1、如何使用?

    设计模式是为了解决问题产生的,一种解决方案,你的问题是什么决定你用什么设计模式, 你没有问题却偏要生搬硬套一个设计模式上去, 这就是没事找事,你的问题就像: 

     自己:医生, 我身高170, 体重60kg, 请问这二十三种药该吃哪一种。

     医生: 吃你妹, 吃脑残片去

2、三大分类:

    设计模式分为三种

    2.1 创建型模式:生产类对象用的,类似于new 类名();

    2.2 结构型模式:定义类和类关系用的,从程序的结构上解决模块之间的耦合问题

    2.3 行为型模式设计到算法和对象间的职责分配

    创建型模式:工厂、抽象工厂、单例、建造者、原型

    结构型模式:适配器、装饰、代理、外观、桥接、组合、享元

    行为型模式:策略、模板、观察者、迭代、责任链、命令、备忘录、状态、访问者、中介、解释器

3、精通设计模式列表(基本每一篇博客都对应项目中的实际应用场景)

单例设计模式:https://my.oschina.net/mdxlcj/blog/1786451

工厂+策略(2种模式):https://my.oschina.net/mdxlcj/blog/1787501

抽象工厂+模板(2种模式):https://my.oschina.net/mdxlcj/blog/1794088

建造者:https://my.oschina.net/mdxlcj/blog/1794236

原型:https://my.oschina.net/mdxlcj/blog/1789168

适配器:https://my.oschina.net/mdxlcj/blog/1798076

装饰:https://my.oschina.net/mdxlcj/blog/1797495

代理:https://my.oschina.net/mdxlcj/blog/1786848

桥接:https://my.oschina.net/mdxlcj/blog/1799639

外观:https://my.oschina.net/mdxlcj/blog/1799809

组合:https://my.oschina.net/mdxlcj/blog/1799989

享元:https://my.oschina.net/mdxlcj/blog/1800607

过滤器:https://my.oschina.net/mdxlcj/blog/1800850

责任链:https://my.oschina.net/mdxlcj/blog/1801027

命令:https://my.oschina.net/mdxlcj/blog/1801137

中介:https://my.oschina.net/mdxlcj/blog/1801391

个人感觉没有用的设计模式,完全在项目中凭业务逻辑就能够直接完成的设计模式:

迭代器设计模式:在java集合类才用到,项目中不需要

解释器设计模式:没用

备忘录设计模式:类似于回滚的设计模式,没用,直接colne就可以

观察者设计模式:没用,业务逻辑就可以写

状态设计模式:没用,业务逻辑代码可以写

访问者设计模式:没用,业务逻辑可以写

4、总结

    会设计模式跟会用设计模式不一样,别适得其反,为了写设计模式而写设计模式。

    举例说明下:

    设计模式就是一种解决方案,你有百万大军,对方有100人,实力差距非常大,你直接让他们冲上去直接杀死就好,但是你想用一个十面埋伏阵(阵法相当于一种解决方案,一种设计模式)把敌方杀死,虽然结果都一样,但是你不觉得脱裤子放屁找费事吗。

猜你喜欢

转载自my.oschina.net/mdxlcj/blog/1801815