java
树獭非懒
因上努力,果上随缘
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《设计模式之美》学习笔记(二)
第二章主题是设计原则1.对于单一职责原则,如何判定某个类的职责是否够“单一”?SOLID 原则并非单纯的 1 个原则,而是由 5 个设计原则组成的,它们分别是:单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则,依次对应 SOLID 中的 S、O、L、I、D 这 5 个英文字母。单一职责原则的英文是 Single Responsibility Principle,缩写为 S...原创 2020-01-03 13:37:18 · 502 阅读 · 0 评论 -
设计模式之观察者模式
设计模式之观察者模式一、初次相识先举个小栗子来了解一下观察者是干啥的~~当我们在打团队游戏时,当你受到攻击需要队友帮忙时该怎么办?这时候就需要给你所有的队友发送一条你正在被攻击的消息。所有的队友会根据你发送的消息作出相应的动作。比如有团队意识来帮你,或者不帮你继续玩自己的。这里面的队员就是该设计模式名字中的观察者。那么受到攻击的自己的是什么呢。被观察者?不,准确的我们称之为目标或者主题。所以整个流...原创 2018-05-28 21:55:41 · 220 阅读 · 0 评论 -
Java并发系列之Synchronized 和 ReentrantLock
在大多数实际的多线程应用中, 两个或两个以上的线程需要共享对同一数据的存取。如果两个线程存取相同的对象, 并且每一个线程都调用了一个修改该对象状态的方法,将会发生什么呢? 可以想象,线程彼此踩了对方的脚。线程操作的数据可能不是之前准备操作的那个数据了。这样一个情况通常称为竞争条件(race condition)。这样说可能还是会有点抽象。下面举个栗子,并以这个栗子贯穿这次的主题。一、抛砖引玉栗子如...原创 2018-06-21 17:06:35 · 259 阅读 · 0 评论 -
生产者与消费者
我们来实现这样一个效果放入20个苹果和取出20个苹果。生产者每次向篮子里放五个苹果,消费者依次取出篮子里的苹果。取出五个苹果后,生产者才能继续往篮子里放。一、先创建生产者和消费者1.创建生产者新建一个生产者继承Thread,目的是向篮子里面放苹果(run方法里面)class Productor extends Thread{ private Basket basket=null; publi...原创 2018-06-09 16:01:30 · 1486 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式,顾名思义,调用工厂里的方法的模式。一、定义定义一个用于创建对象的接口,让子类决定实例化哪个类。主要用于生成复杂对象的地方。二、UML类图三、解读类图1.抽象产品类–类图上的Product接口public abstract class Product { public abstract void product(); }2.具体的产品类-类图上的ConcreteP...原创 2018-12-27 15:17:17 · 197 阅读 · 0 评论 -
设计模式之抽象工厂模式
一、抽象工厂模式抽象工厂模式(Abstract Factor Pattern)是创建型设计模式之一。它和之前的工厂设计模式很像。之前的工厂设计模式中如果一个工厂只能生产一种它具体的产品。而抽象工厂设计模式可以用一个工厂类生产一系列相关的产品。为创建一组相关或者相互依赖的对象提供一个接口,而不需要指定它们的具体类二、UML类图三、实例解读下面笔者用一个手机生产商生产手机配件的示例来解读上...原创 2019-01-17 15:01:11 · 196 阅读 · 0 评论
分享