JAVA设计模式
木木统
Sharing makes the world better!!!
分享让世界更美好!!!
展开
-
Java设计模式之------代理模式
注:学习设计模式,不要老是看下面这些干巴巴的文字,要看UML图,UML图,UML图,再敲代码,敲代码,敲代码。 代理模式是什么? 代理模式是相对工厂模式、建造器模式比较简单的,简而言之,形象解释:代理模式就是找个中间商,找个中介,在保护目标对象的同时,扩展目标对象的功能。(java解释:在不改变源码的情况下,实现对目标对象的功能扩展。)比如说一个歌手,她就是负责唱歌,有时候需要与歌手互动,或者...原创 2019-06-20 08:43:53 · 168 阅读 · 0 评论 -
设计模式-访问者模式(Visitor pattern)理解(转)
原文链接:https://blog.csdn.net/eyabc/article/details/80737226 原文标题:设计模式-访问者模式(Visitor pattern)理解 马上期末了,一直没看懂访问者模式,今天查了好多资料,算是搞明白了。在这分享一下自己的理解。 访问者模式,顾名思义就是遍历集合时,用来访问集合中元素的。这个集合中元素的类型不同,但类型都是已知的,且未来不会改变...转载 2019-06-24 22:46:38 · 184 阅读 · 0 评论 -
Java 设计模式之-----桥接模式
问题:桥接模式是什么?有什么作用?应用场景是什么?如何用最直白的话解释出来? 看了太多的关于桥接模式的博客,这些博客写的都很好,但是有个问题,这些博客往往是一上来就来一段关于桥接模式的八股文般的定义,不知道你们看的怎么样,反正我是看的一头雾水,只有当你看到博客尾部的时候才恍然大悟,原来桥接模式是这样的。本文作者为了对自己更友好一点,采取由简单到困难的模式来写桥接模式。 形象举例---->例子...原创 2019-06-20 22:08:02 · 133 阅读 · 0 评论 -
Java设计模式之-----建造者设计模式
建造者的设计模式应用场景: 1 在《Effective Java》中提到:在创建对象时,如果该生成该对象的类具有多个重载的构造器,那么就要考虑使用建造者设计模式了。 2 复杂对象的创建,侧重于组装部件,而工厂模式侧重于生产对象,所以建造者模式和工厂模式互相搭配,一个负责生产,一个负责组装。 Buidler设计模式的实现方式一: 场景: ...原创 2019-06-19 17:29:23 · 213 阅读 · 0 评论 -
Java设计模式之---工厂模式
工厂模式网上太多了,我还是给出一些相关个人认为讲解的比较全面的链接以供自己查看吧,也会记一些比较形象的例子。 在单例模式和原型模式中,我们new对象也好还是克隆一个对象也好,其类型都是一样的,即同一种类型,但是问题来了,想要实现一个类可以产生不同类型的对象怎么办?这里即用到工厂模式。 注:工厂模式重点在哪,重点其实在于想要产生不同类型的对象,工厂为了产生不同类型的对象,可以返回这些不同类...原创 2019-06-19 10:26:27 · 114 阅读 · 0 评论 -
Java 的设计模式之 ----原型设计模式-----含深浅拷贝
单例模式解决的问题:当我们只需要一个实例对象的时候,不希望有很多实例对象,此时用单例模式。 那么问题来了,当我们需要很多很多实例对象的时候,怎么办??? 1 单线程中, 每次都new一个对象,new 很多很多次-----> 缺点:每次都需要调用构造函数,很耗时 2 由 1 ,想到用多线程解决,本质上还是new出很多对象,并未解决每次调用构造函数耗时的问题。 ...原创 2019-06-18 21:13:06 · 186 阅读 · 0 评论 -
Java volatile关键字和单例模式
在看单例模式的代码时,发现单例模式有一种实现方法中出现了volatile 关键字,这里就有了疑问: 为什么要使用volatile关键字?? volatile关键字与多线程中的双重检查有什么关系?? volatile与synchronized有什么关系??? 单例模式的八种实现代码,参考以下博文: 链接:https://www.cnblogs.com/zhaoyan0...原创 2019-06-18 20:38:44 · 407 阅读 · 0 评论 -
Java 的适配器模式-设计模式之一 ---23中设计模式链接
搜索博客:Java设计模式:23种设计模式全面解析(超级详细) 链接:https://www.baidu.com/link?url=e1QQ5H1_aO62Kc8XO1Y6NB5YatdhOdPhbYprcN71Hs8NaedUDMtNmiOCX3OSFrYu&wd=&eqid=9693bbca000b1c59000000035d07a3ca 为便于理解,参考下面这篇文章: ...原创 2019-06-16 20:34:07 · 198 阅读 · 0 评论