Java设计模式&OOP
余建新-18588497759
这个作者很懒,什么都没留下…
展开
-
设计模式 记录
https://refactoring.guru/design-patterns/catalog原创 2022-01-24 18:40:45 · 193 阅读 · 0 评论 -
Java-设计模式-类之间的关系
一、分类 1.1、泛化(Generalization,继承) 1.2、实现(Realization,Implementation) 1.3、关联(Association) 1.4、聚合(Aggregation) 1.5、组合(Composition) 1.6、依赖(Dependency) 二、详细 三、参考URL http:原创 2015-02-25 02:01:16 · 1141 阅读 · 0 评论 -
Java-设计模式-0-概述
一、创建型模式 1、单例模式(Singleton) 一个足球场只有一个足球 简单工厂模式(Simple Factory) 将对象的创建和使用分离开 2、工厂方法模式(Factory Method) 3、抽象工厂模式(Abstract Factory) 4、原型模式(Prototype) 创建一个和原来对象一模一样的新对象 印刷书籍、印钞厂、《克隆人》 5、创建者模式(Bui原创 2015-02-23 23:17:34 · 896 阅读 · 0 评论 -
Java设计模式-22-里氏替换原则
继承包含这样一层含义: 父类中凡是已经实现好的方法(相对于抽象方法而言),实际上是在设定一系列的规范和契约,虽然它不强制要求所有的子类必须遵从这些契约,但是如果子类对这些非抽象方法任意修改,就会对整个继承体系造成破坏。而里氏替换原则就是表达了这一层含义。 里氏替换原则通俗的来讲就是: 子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义: 1、子类可以实现父类的抽象原创 2015-03-14 07:42:27 · 614 阅读 · 0 评论 -
Java设计模式-23-依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类B或者类C发生联系,则会大大降低修改类A的几率。 依赖倒置原则基于这样一个事实:相对于细节的多变性,抽象的东西要稳定的多。以抽象为基础搭建起来的架构比以细节为基础搭建起来的架构要稳定的多。在java中,抽象指的是接口或者原创 2015-03-14 07:51:29 · 856 阅读 · 0 评论 -
Java设计模式-25-迪米特法则
“迪米特法则”又叫最少知道原则,通俗的来讲,就是一个类对自己依赖的类知道的越少越好。也就是说,对于被依赖的类来说,无论逻辑多么复杂,都尽量地的将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息。 迪米特法则还有一个更简单的定义:只与直接的朋友通信。首先来解释一下什么是直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋原创 2015-03-14 22:35:11 · 762 阅读 · 0 评论 -
Java设计模式-11-责任链模式
Java设计模式-11-责任链模式 介绍 责任链模式其实就是一个灵活版的if…else…语句,它就是将这些判定条件的语句放到了各个处理类中,这样做的优点是比较灵活了,但同样也带来了风险,比如设置处理类前后关系时,一定要特别仔细,搞对处理类前后逻辑的条件判断关系,并且注意不要在链中出现循环引用的问题。原创 2015-03-06 23:12:42 · 493 阅读 · 0 评论 -
Java设计模式-10-命令模式
Java设计模式-10-命令模式原创 2015-03-06 22:52:40 · 469 阅读 · 0 评论 -
代理模式
实际体现 体现装饰者模式、代理模式(包装了一层,实际调用的还是被代理对象的方法,只是在调用被代理对象方法之前的前后增加一些处理)。原创 2015-03-30 06:30:01 · 441 阅读 · 0 评论 -
Java设计模式-21-单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 遵循单一职责原的优点有: 1、可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多; 2、提高类的可读性,提高系统的可维护性; 3、变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。 单一职责原则不只是面向对象编程思想所特有原创 2015-03-14 23:25:47 · 815 阅读 · 0 评论 -
Java设计模式-24-接口隔离原则
接口隔离原则的含义是: 建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。 接口是设计时对外部设定的“契约”。 运用接口隔离原则,一定要适度,接口设计的过大或过小都不好。设计接口的时候,只有多花些时间去思考和筹划,才能准确地实践这一原则。原创 2015-03-14 22:07:02 · 659 阅读 · 0 评论 -
Java设计模式-26-开闭原则
前面说的5项原则,恰恰是告诉我们用抽象构建框架,用实现扩展细节的注意事项而已: 21、单一职责原则告诉我们实现类要职责单一; 22、里氏替换原则告诉我们不要破坏继承体系; 23、依赖倒置原则告诉我们要面向接口编程; 24、接口隔离原则告诉我们在设计接口的时候要精简单一; 25、迪米特法则告诉我们要降低耦合; 26、而开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭。原创 2015-03-14 22:42:51 · 810 阅读 · 0 评论 -
Java设计模式-6-模板方法模式
一、介绍 定义一个操作中算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法的结构即可重定义该算法中的某些特定步骤。 二、UML类图 三、代码实现 模版方法是编程中一个经常用到的模式。先来看一个例子,某日,程序员A拿到一个任务:给定一个整数数组,把数组中的数由小到大排序,然后把排序之后的结果打印出来。经过分析之后,这个任务大体上可分为两部分,排序和打印,打印功能原创 2015-02-24 19:13:29 · 615 阅读 · 0 评论 -
Java设计模式-1-单例模式
一、UML类图: 二、介绍: 定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式根据实例化对象时机的不同分为两种:一种是饿汉式单例,一种是懒汉式单例。饿汉式单例在单例类被加载时候,就实例化一个对象交给自己的引用;而懒汉式在调用取得实例方法的时候才会实例化对象。代码如下: 饿汉式单例: public class Singleton { priva原创 2015-02-23 18:54:43 · 559 阅读 · 0 评论 -
Java设计模式-4-创建者模式
一、介绍 二、UML类图 三、代码 class Product { private String name; private String type; public void showProduct() { System.out.println("名称:" + name); System.out.println("型号:" + type原创 2015-02-24 16:21:42 · 580 阅读 · 0 评论 -
Java设计模式-2-工厂方法模式
一、UML类图: 二、介绍: 首先说一下工厂模式,工厂模式根据抽象程度的不同分为三种:简单工厂模式(也叫静态工厂模式)、本文所讲述的工厂方法模式、抽象工厂模式。 工厂方法模式代码 interface IProduct { public void productMethod(); } class Product implements IProduct { publi原创 2015-02-24 10:45:45 · 575 阅读 · 0 评论 -
Java设计模式-8-观察者模式
一、介绍 定义:定义对象间一种一对多的依赖关系,使得当每一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 二、UML类图 三、代码实现 abstract class Subject { private Vector obs = new Vector(); public void addObserver(Observer obs){ this.obs原创 2015-02-25 01:44:07 · 750 阅读 · 0 评论 -
Java设计模式-7-中介者模式
一、介绍 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使耦合松散,而且可以独立地改变它们之间的交互。 一个好的设计,必定不会把所有的对象关系处理逻辑封装在本类中,而是使用一个专门的类来管理那些不属于自己的行为。 适用场景:只有对于那种同事类之间是网状结构的关系,才会考虑使用中介者模式。可以将网状结构变为星状结构,使同事类之间的关系变的清晰一些。原创 2015-02-24 22:29:57 · 630 阅读 · 0 评论 -
Java设计模式-9-访问者模式
一、介绍 封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。原创 2015-02-25 22:16:16 · 520 阅读 · 0 评论 -
Java设计模式-3-抽象工厂模式
一、介绍 二、UML类图: 三、抽象工厂模式代码 interface IProduct1 { public void show(); } interface IProduct2 { public void show(); } class Product1 implements IProduct1 { public void show() { S原创 2015-02-24 11:27:00 · 505 阅读 · 0 评论 -
Java设计模式-5-原型模式
一、介绍 原型模式主要用于对象的复制,它的核心是就是类图中的原型类Prototype。Prototype类需要具备以下两个条件: 1、实现Cloneable接口。 2、重写Object类中的clone方法。 二、UML类图 三、代码实现 class Prototype implements Cloneable { public Prototype clone() {原创 2015-02-24 18:19:57 · 490 阅读 · 0 评论