![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
RecycleBins
这个作者很懒,什么都没留下…
展开
-
Java多线程详解(二)线程实现 2、静态代理
二、线程的实现(1)线程创建的三种方法(2)静态代理一个实例://测试类public class StaticProxy { public static void main(String[] args) { MarryCompany marryCompany = new MarryCompany(new You()); marryCompany.HappyMarry(); }}//需要实现的接口interface Marry{ voi原创 2021-02-17 15:14:17 · 128 阅读 · 0 评论 -
设计模式——状态模式
设计模式——状态模式定义:允许一个对象在其内部状态发生改变时改变它的行为,对象看起来似乎修改了它的类。**成员:**Context(环境)、State(抽象状态类)、ConcreteState(具体状态类)**理解:**这种模式在生活中的应用也很广泛,比如当你和朋友打牌,一开始手上有100块,输了一把,一下输了200块,此时你就从有资产的正常状态变成了负债状态。可以发现,你作为一个环境对象,当你执行了输钱这个操作后,你的资产从正的变为负的,从而导致你的状态从正常状态变为了负债状态。而我们知道,当你的状原创 2020-12-19 11:34:15 · 75 阅读 · 1 评论 -
设计模式——策略模式与模板方法模式的比较
设计模式——策略模式与模板方法模式的比较最近学到设计模式的策略模式和模板方法模式时,犯了点迷糊,总是感觉这两个模式太像了,我们来看二者的类图:可以发现这个两个模式的类图都十分相似。下面是这两个模式的定义:策略模式:定义一系列算法,将每一个算法封装起来,并让它们可以相互替换。策略模式让算法独立于使用它的用户而变化,也称为政策模式。**模板方法模式:**定义一个操作中算法的骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。下面是我的理解:原创 2020-12-18 16:08:52 · 386 阅读 · 1 评论 -
设计模式——访问者模式的理解
访问者模式定义:表示一个作用于某对象结构中的各元素的操作,它使我们在不改变各元素的类的前提下定义作用于这些元素的新操作。访问者模式是一种对象行为型模式。成员: Visitor(抽象访问者)、ConcreteVisitor(具体访问者)、Element(抽象元素)、ConcreteElement(具体元素)、ObjectStructure(对象结构)。理解: 这种模式所应用的情形在生活中比较常见,比如考完试出了一份成绩单,班主任安排了两个学生,一个学生负责找出所有挂科的同学把他们统计下来并叫到办公室。原创 2020-12-16 21:50:29 · 362 阅读 · 0 评论 -
设计模式——2.1、创建型模式(简单工厂、工厂方法、抽象工厂)
设计模式——2.1、创建型模式(简单工厂、工厂方法、抽象工厂)在一切开始前,我们需要知道的是设计模式不是被凭空创造出来的,而是从实际编程经验中总结出来的。因此此篇博客只是谈谈我对创建型设计模式的理解,欢迎大家留言讨论,如有错误,也希望能够及时指正,不深感激。一、简单工厂模式定义:在简单工厂模式中,可以根据参数的不同返回不同类的实例。简单工厂模式专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。(此模式并不属于GoF23个基本设计模式)角色:Factory(工厂角色)、Prod原创 2020-11-15 16:52:11 · 122 阅读 · 0 评论 -
设计模式——1、理解面向对象设计原则
最近在学设计模式,很多东西很抽象,理解起来挺困难的,所以在此写一些博客记录一些我的理解,如果能够帮到一些人,那自然更好,当然欢迎在评论区批评指正交流,不胜感激。一、单一职责原则定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。分析:一个类的主要职责包括两个方面,数据职责和行为职责。数据职责通过其属性来体现,行为职责通过方法来体现。如果职责太多,将导致系统非常脆弱,一个职责可能会影响其他职责,因此我们应将这些职责进行分离,将不同的职责封装在不同的类中,即将不同的变化原因封装在不同的原创 2020-09-27 17:41:53 · 247 阅读 · 0 评论