1、定义:用一个中介对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 2、代码实现 /** * 抽象中介者 */ public abstract class AbstractMediator { protected Purchase ...
分类:
编程语言 时间:
2020-06-28 20:50:47
阅读次数:
80
Java设计模式的6大原则: 1.开闭原则 开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,实现一个热插拔的效果。简单来说:就是为了使程序的扩展性好,易于维护和升级。 👇 2.接口隔离原则 这个原则的意思是:使用多个隔离的接口,比使用单个接口要好。还是一个降低 ...
分类:
编程语言 时间:
2020-06-26 19:51:04
阅读次数:
76
上一节我们已经学习了原型模式,稍微复习一下:通过重写Object 类的clone() 方法实现浅克隆,浅克隆也要实现Cloneable 标记接口。而深克隆则是将对象通过序列化和反序列化 的方式进行创建和还原。 本小结将学习的是工厂模式,这个模式在平时是特别常用的,还需好好理解。我也将举一些例子🌰给 ...
分类:
编程语言 时间:
2020-06-25 11:43:05
阅读次数:
95
原型模式 克隆羊问题 现在有一只羊 tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和 tom 羊 属性完全相同的 10 只羊。 传统方式解决克隆羊问题 package com.atguigu.prototype; public class Sheep { private Str ...
分类:
编程语言 时间:
2020-06-24 15:47:35
阅读次数:
46
在本节中,我们将学习和使用原型模式;这一节学习的原型模式也是创建型 模式的其中之一。再次复习一下:创建型 模式就是描述如何去更好的创建一个对象。 我们都知道,在JAVA 语言中。使用new 关键字创建一个新对象。将新的对象放到堆内存 里面。当然,这个内存肯定是有大小限制的,况且,JAVA 不同于C语 ...
分类:
编程语言 时间:
2020-06-21 23:29:18
阅读次数:
84
设计模式的目的 编写软件过程中,程序员面临着来自 耦合性,内聚性以及可维护性,可扩展性,重 用性,灵活性 等多方面的挑战,设计模式是为了让程序(软件),具有更好 代码重用性 (即:相同功能的代码,不用多次编写) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) 可扩展性 (即:当需要增加新的 ...
分类:
编程语言 时间:
2020-06-17 23:42:50
阅读次数:
55
参考来自狂神说java一个讲解java很细腻的up主 1.为什么使用代理 public class UserServiceImpl implements UserService { public void add() { System.out.println("增加用户"); } public vo ...
分类:
编程语言 时间:
2020-06-11 00:56:34
阅读次数:
65
一、设计简介1、什么是设计模式?设计模式(Designpattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。1994年,有四位作者:ErichGamma,RichardHelm,RalphJohnson和JohnVlissides发表了一本题为《设计模式-可重用的面向对象软件元素》的图书,该书在软件
分类:
编程语言 时间:
2020-06-06 23:31:18
阅读次数:
110
单例模式--线程安全的单例,懒汉式、饿汉,枚举等 享元设计模式:Message--obtain,,String public static void main(String[] args) { String s1 = "hello"; String s2 = new String("hello"); ...
分类:
编程语言 时间:
2020-05-30 10:37:20
阅读次数:
58
作者:小傅哥 博客:https://bugstack.cn - 原创系列专题文章 沉淀、分享、成长,让自己和他人都能有所收获!😄 一、前言 乱码七糟 [luàn qī bā zāo],我时常怀疑这个成语是来形容程序猿的! 无论承接什么样的需求,是不是身边总有那么几个人代码写的烂,但是却时常有测试小 ...
分类:
编程语言 时间:
2020-05-27 10:37:42
阅读次数:
93