设计模式
雨夜浅痕
每个人都想过好的生活,你不努力凭什么给你!
展开
-
生产者消费者模式
生产者和消费者模式https://blog.csdn.net/u011109589/article/details/80519863转载 2019-05-06 10:04:59 · 75 阅读 · 0 评论 -
设计模式的6大原则以及各个模式的使用场景(有记忆方法)
一、首先,我们必须明白,23种设计模式的本质上是为了6大原则服务,降低系统的耦合性,提高可扩展性和性能面向对象设计6大原则:1.单一职责原则(Single Responsibility Principle):一个类有且仅有一个引起它发生变化的原因,即一个应该只有一个职责,而非多个;2.开闭原则(open closed principle):开放扩展,关闭修改;3.里氏替换原则(...原创 2019-06-27 09:47:25 · 1294 阅读 · 1 评论 -
ByteArrayInputStream的作用,和BufferedOutputStream 的区别
流的来源或目的地并不一定是文件,也可以是内存中的一块空间,例如一个字节数组。java.io.ByteArrayInputStream、java.io.ByteArrayOutputStream就是将字节数组当作流输入来源、输出目的地的类。java.io.ByteArrayInputStream将一个字节数组当作流输入的来源,而java.io.ByteArrayOutputStream则可以将一个...原创 2019-07-02 11:37:32 · 1236 阅读 · 0 评论 -
一句话设计模式——快速掌握23种设计模式的核心思想(上)
《一句话设计模式》的想法起源于前段时间为一个培训机构上课的时候,每讲完一个设计模式我都会用一句话总结。总结往往不是“将抽象部分与它的实现部分分离,使它们都可以独立地变化”这种晦涩抽象的表达,而是通俗的表述最核心的部分。这篇文章不适合深入学习设计模式,因为没有代码,没有模式扩展。正确的使用方式:1. 初学者在深入学习之前先留下一个粗略的印象。2. 已经系统学习了设计模式的人快速回顾。简单...转载 2019-06-11 17:21:54 · 124 阅读 · 0 评论 -
设计模式的学习还会持续
设计模式也学了一段时间了,总结下:23中设计模式分类如下:创建型模式,共五种:单例模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式。结构型模式,共七种:适配器模式、装饰者模式、代理模式、门面模式(外观模式)、桥梁模式、组合模式、享元模式。行为型模式,共十一种:策略模式、模版方法模式、观察者模式、迭代器模式、责任链模式、命令模式、备忘录模式、状态模式、访问...原创 2019-06-11 14:37:53 · 178 阅读 · 1 评论 -
访问者模式
本文完全转载,原文地址:https://blog.csdn.net/eyabc/article/details/80737226访问者模式,顾名思义就是遍历集合时,用来访问集合中元素的。这个集合中元素的类型不同,但类型都是已知的,且未来不会改变。访问单个元素的方式有多种,每种方式在访问不同类型的元素时所做的操作不同,并且未来可能会有新的访问方式。举例来说:一个班级里有学霸和学渣两...转载 2019-06-11 11:15:50 · 92 阅读 · 0 评论 -
享元模式
本人为完全转载,原文地址:https://www.cnblogs.com/adamjwh/p/9070107.html一、什么是享元模式 说到享元模式,第一个想到的应该就是池技术了,String常量池、数据库连接池、缓冲池等等都是享元模式的应用,所以说享元模式是池技术的重要实现方式。 比如我们每次创建字符串对象时,都需要创建一个新的字符串对象的话,内存开销会很大,所以如果第一次创...转载 2019-06-11 09:46:23 · 76 阅读 · 0 评论 -
结合源码学习设计模式
经过这段时间设计模式的学习,发现只是单纯的写相应的设计模式的demo,搞清楚大概原理是不行的最好的方法就是结合相应的框架的源码,研究源码中是如何用设计模式的,如果AOP中的代理模式的运用等可以更加深刻的理解设计模式,从而用在以后的自己的代码中。参考文档https://blog.csdn.net/meng_xiaohua/article/details/80825060...原创 2019-06-10 17:38:58 · 166 阅读 · 0 评论 -
常用设计模式
原文:https://blog.csdn.net/zhouboke/article/details/82313857讲一下什么是设计模式?常用的设计模式有哪些?设计模式就是经过前人无数次的实践总结出的,设计过程中可以反复使用的、可以解决特定问题的设计方法。单例(饱汉模式、饥汉模式)1、构造方法私有化,除了自己类中能创建外其他地方都不能创建2、在自己的类中创建一个单实例(饱汉模式...转载 2019-06-04 11:13:37 · 106 阅读 · 0 评论 -
线程安全的单例模式
转自:http://blog.sina.com.cn/s/blog_75247c770100yxpb.html面试的时候,常常会被问到这样一个问题:请您写出一个单例模式(Singleton Pattern)吧。好吧,写就写,这还不容易。顺手写一个://饥饿模式public final class EagerSingleton { private static Ea...转载 2019-06-06 15:56:51 · 9136 阅读 · 6 评论 -
组合模式
注:本文完全转自https://www.cnblogs.com/jenkinschan/p/6071933.html一.概述 允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及组合对象。二.解决问题组合模式解决这样的问题,当我们的要处理的对象可以生成一颗树形结构,而我们要对树上的节点和叶子进行操作时,它能够提供一致的方式,...转载 2019-06-06 10:56:46 · 103 阅读 · 0 评论 -
设计模式状态模式
原文:https://www.cnblogs.com/haoerlv/p/7777789.html定义:(源于Design Pattern):当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。 上述是百度百科中对状态模式的定义,定义很简单,只有一句话,请各位形象的去理解这句话,它说当状态改变时,这个对象的行为也会变,而看起来就像是这个类改变...转载 2019-06-05 15:18:49 · 153 阅读 · 0 评论 -
简单工厂、工厂方法、抽象工厂
这篇文章讲解的很好,严重推荐大家https://www.cnblogs.com/zhangchenliang/p/3700820.html简单工厂可以看作工厂方法模式的一个特例,2个可以归为一类;抽象工厂是为了更好的实现创建产品族系列下的任一个具体的产品,如宝马系列下的商务宝马...原创 2019-06-05 11:27:53 · 74 阅读 · 0 评论 -
BlockingQueue(阻塞队列)详解
https://www.cnblogs.com/tjudzj/p/4454490.html阻塞队列BlockingQueue(阻塞队列)详解注意:该随笔内容完全引自http://wsmajunfeng.iteye.com/blog/1629354,写的很好,非常感谢,复制过来算是个积累,怕以后找不到。一. 前言 在新增的Concurrent包中,BlockingQueu...转载 2019-04-29 10:49:16 · 2224 阅读 · 0 评论 -
阻塞队列BlockingQueue的put和offer区别
参考传送门http://ju.outofmemory.cn/entry/259842区别:offer方法当队列满,而且放入时间超过设定时间时,返回false;put方法当队列满时,会调用wait方法,put方法会等待一个空的位置出来,然后再执行insert建议:高并发建议使用offer方法...原创 2019-05-06 10:27:13 · 3857 阅读 · 0 评论 -
生产者消费者例子-使用阻塞队列(BlockingQueue)实现
import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** * Created by wisgood . */public class ProducerConsumerWithBlockingQueueDemo { public static voi...转载 2019-07-03 16:59:14 · 270 阅读 · 0 评论