Java设计模式(八)——代理模式
摘要:一.定义 代理模式(Proxy Pattern): 提供了间接对目标对象的访问方式 即通过代理对象访问目标对象, 代理对象就类似中介 代理模式分类:静态代理和动态代理,动态代理又分为jdk动态代理和cglib动态代理 二.静态代理 被代理对象和代理对象需要实现相同的接口或者继承相同父类同时代理对象中
阅读全文
Java设计模式(七)——装饰者模式
摘要:一.定义 装饰者模式(Decorator Pattern):动态的给一个对象添加新的功能,同时又不改变其结构。又叫装饰器模式 若要扩展功能,装饰者模式提供了比继承更有弹性的替代方案 二.装饰者模式的角色 抽象构件(Component)角色:是一个抽象类或者接口,是要装饰原始对象 具体构件(Concr
阅读全文
Java设计模式(六)——适配器模式
摘要:一.定义 适配器模式(Adapter Pattern):将一个接口转换成客户希望的另外一个接口,使原本接口不兼容的类可以一起工作,其别名为包装器(Wrapper)。 二.角色 Target(目标抽象类):目标抽象类定义了客户所需要的接口,可以是一个抽象类或者接口,也可以是具体类 Adapter(适配
阅读全文
Java设计模式(五)——原型模式
摘要:一.原型(ProtoType)模式定义: 给出一个原型对象实例来指定创建对象的类型,并通过拷贝这些原型的方式来创建新的对象。 原型模式的简单程度仅次于单例模式的简单模式,它的定义可以理解为对象的拷贝,通过拷贝一个已有对象创建新对象,这就是原型模式。 设计类图: 二.场景 需要大量创造重复场景且构造函
阅读全文
Java设计模式(四)——建造者模式
摘要:一.定义: 建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,是的同样的构建过程可以创建不同的表示。 建造者本质:对象的构建和装配分离:比如:属性当做组件在满足条件的时候进行装配 1. List item分离的对象子组件的单独构造(由Builder构造)和装配(有Di
阅读全文
Java设计模式(三)——单例模式
摘要:一.定义:singleton 一个类只有一个实例,而且这个实例自己创建。 二.单例模式的五种写法 核心代码,构造方法私有化,private,注意对外访问的是静态的,不然你们怎么访问的到 1.懒汉式: 用到的时候才创建,使用的时候检查有没有实例,如果没有就创建,有就发挥。有线程安全和不安全两种写法,区
阅读全文
Java设计模式(二)——抽象工厂模式
摘要:1.抽象工厂模式介绍 抽象工厂模式定义:提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类。是工厂方法的升级版 为了更好的学习抽象工厂模式,我们先了解产品等级和产品族,相同的产品等级就是相同的产品,如:肯德基的汉堡包和麦当劳的汉堡包,虽然属于不同的餐饮店(工厂),但是属于同一等级的
阅读全文
Java设计模式(一)——工厂方法模式
摘要:本文转载自:https://www.cnblogs.com/gdwkong/p/8413342.html,原文是将工厂方法模式和抽象工厂模式放在一起了好做比较,我这里拆分开 1.工厂模式介绍 1.1定义:定义一个创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到子类。 工厂方法
阅读全文
Java的开发—面向对象的7大原则之合成服用原则(七)
摘要:定义: 合成服用原则又称为组合/聚合服用原则(Composite/Aggregate Reuse Principle):尽量采用组合(contains-a)、聚合(has-a)的方式而不是继承(is-a)的关系来达到软件的复用目的 优点:类之间的耦合度较低,一个类的变动对其他类的影响较小 组合和聚合
阅读全文
Java的开发—面向对象的7大原则之单一迪米特法则(六)
摘要:一.定义 迪米特法则,又叫最少知道原则(Least Knowledge Principle) 一个类应该保持对其他类最少的了解 也就是说:只与直接朋友交流,不和陌生人交流 朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们称之为朋友 耦合分为:依赖、关联、组合、聚合等等,我们称
阅读全文
Java的开发—面向对象的7大原则之单一职责原则(五)
摘要:单一职责原则(Single Resposibility Principle) 定义:一个类应该有且仅有一个变化的原因 这里的变化是指修改代码,如修复bug,功能不满足修改等等,也就是说你修改了一个方法的代码,不能导致其他方法的代码也需要修改 具体做法:将不同的职责封装到不同的独立类中 为什么要封装到
阅读全文
Java的开发—面向对象的7大原则之接口隔离原则(四)
摘要:一.定义 接口隔离原则(Interface Segregation Principle) 1、接口的划分: 一说接口,大家第一印象想到的是Java的抽象代名词,这个并没错,但是这是狭义的,下面说说接口划分,接口是分为两种 1.1、实例接口(Object Interface) 在Java中声明一个类,
阅读全文
Java的开发—面向对象的7大原则之里氏替换原则(三)
摘要:一.定义 里氏替换原则(Liskov Substitution Principle,简写LSP),其实就是继承,子承父业 有两点 1.if foreach object o1 of type S there is Object o2 of type T such that for all progr
阅读全文
Java的开发—面向对象的7大原则之依赖倒置原则(二)
摘要:一.定义: 依赖倒置原则(Dependecy Inversion Principle) 原文为: High level modules shouldnot depend upon low level modules.Both should depend upon abstractions.Abstr
阅读全文
Java的开发—面向对象的7大原则之开闭原则(一)
摘要:开闭原则(Open Close Principle) 一、定义: 软件中的(类、模块、函数等等)应该对于扩展是开放的,对于修改时关闭的。意味着一个实体允许在不改变它的源代码的前提变更它的行为 这里的软件包含一下几个部分: 1.项目中划分的模块 2.类与接口 3.方法 二、作用 使软件具有一定的适应性
阅读全文
Java-23中设计模式及遵循的7大规则
摘要:声明:这里参考并借用了:https://blog.csdn.net/u011753266/article/details/81186174 这篇文章的内容 一、Java的设计模式大体分为三类 创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式 、建造者模式 、原型模式 结构型模式(7种):适配
阅读全文