设计模式
设计模式,就是设计模式,设计模式。
ybbgrain
这个人很懒,什么也没有写。。。
展开
-
单例模式(JAVA实现)
题记单例模式也是最简单的设计模式,只包含一个类,即单例类。单例模式的目的是保证一个类有且只有一个shili ,并提供一个访问它的全局访问点,单例模式包含的角色只有一个,就是Singleton类。类图代码public class Singleton{ private static Singleton instance = null;//静态私有成员变量 //私有构造函数 private Singleton(){ ... } //原创 2021-02-25 14:53:54 · 116 阅读 · 0 评论 -
常见的类图对应的代码(关联,聚合,泛化,组合)
题记UML提供了不同的表达方式来表达类与类之间的关系。关联关系关联关系用于表示一类对象与另一类对象之间有联系,如班级与学生,车与车钥匙,,顾客与收货地址。顾客有收货地址,那么顾客和收货地址之间就存在一种关联关系。public class Customer{ private Address address;}public class Address{ .....}聚合关系聚合关系表示整体与部分的关系,用菱形表示。即成员是整体的一部分,但成员又可以脱离原创 2021-02-25 10:51:08 · 2222 阅读 · 0 评论 -
适配器模式(JAVA实现)
前言适配器模式就是在原有类已有的基础上进行拓展,继承原有类的方法,又实现新类的方法的一种软件设计模式。一、题目二、实现1.类图2.汽车接口类AbsShowLast为原来的汽车和现在的汽车创建public interface AbsShowLast{ public void call();}3.汽车适配器ShowLastAdapterpublic class ShowLastAdapter implement AbsShowLast{ L.原创 2021-02-23 20:19:22 · 232 阅读 · 0 评论 -
中介者模式(JAVA实现)
前言什么时候使用中介者模式呢?中介者模式就是在系统中对象关系比较复杂的情况下,就可以通过中介者模式来实现封装各个类的行为,以此来减少产生更多的类。如图为题目一、类图二、具体步骤1.创建抽象中介者接口AbsMediator代码如下(示例)://抽象中介者public abstract class AbsMediator(){ protected List<AbsPeople> peoplelist = new..原创 2021-02-23 17:09:13 · 336 阅读 · 0 评论 -
public-private-protected-default 的具体区别与分析
概述几种类型的修饰符如下所示注:上图用的是C中,即在JAVA中不写默认是default,C中不写默认是friendly。解释public表示该数据成员,成员数据对所有用户开放,所有用户都能够直接对数据进行调用。 private表示该数据成员是私有的,即除了当前的类(class)中可以调用,其他的类不能够调用。 protected表示该数据成员部分私有,即除了当前类和继承该类的子类,其余的类都不能够调用该成员数据,即变成了private。 访问修饰符自上而下的等级:public>原创 2021-02-22 12:11:29 · 590 阅读 · 0 评论 -
设计模式(各种原则的总结)
前言之前我总结了依赖倒置原则,这次把剩下的几种原则都重新学习一遍。依赖倒置原则可以参考-依赖倒置原则的简单理解单一职责原则,开闭原则,接口隔离原则的总结1.单一职责原则一个对象应该只包含单一职责,并且该职责被完全封装在一个类中。...原创 2021-02-20 23:36:03 · 131 阅读 · 0 评论 -
uml的各种箭头基础知识小结
前言主要是对初学者对各种图形的理解的初次小结一、各种箭头的意思?聚合组合二、关联,泛化,依赖,实现的具体解释1.关联关联分为单详关联,双向关联。例如单向关联:可以通过钥匙打开门,而不能通过门打开钥匙。双向关联:可以通过身份证号查找到人,也可以通过人找到该人的身份证号。2.泛化例如订机票可以网上订购,也可以电话订购,所以网上订购与电话订购都是订机票的泛化。 如图3.依赖一个类依赖于另一个类,如果一个类发生变化那么该类可能会随之发生变化。例如公司发...原创 2021-02-20 23:19:55 · 698 阅读 · 0 评论 -
依赖倒置原则(形象理解)
依赖倒置原则(Dependence Inversion Principle, DIP)依赖倒置原则的包含如下的三层含义:高层模块不应该依赖低层模块,两者都应该依赖其抽象 抽象不应该依赖细节 细节应该依赖抽象首先如果不使用依赖倒置原则,例如人有一个技能为喝水,水杯有个技能为装水,那么水杯(Cup)这个类依赖于(人)这个类,只有人才能给水杯倒水。人调用Cup中的fillWater()方法。这里的Man类与Cup类都是对象级依赖,这样以来的缺点就是耦合度很高。假如有一天Man换了一个原创 2021-02-19 21:05:18 · 612 阅读 · 0 评论 -
简单工厂模式的具体理解
概要简单工厂模式又称为静态工厂方法,属于类创建型模式,在简单工厂模式中,可以根据参数的不同返回不同的实例,简单工厂模式专门定制一个类来创建其它类的实例。创建的实例通常都有一个父类。UML图题目使用简单工厂模式模拟Nvwa创造Person,如果传入参数"M"则返回一个Man对象,传入参数"W"则返回一个Woman对象,传入参数R则返回Robot对象。使用JAVA实现代码首先创建抽象接口类Nvwa//抽象接口类abstract class Nvwa{}再创建Man对象原创 2021-02-18 10:55:12 · 163 阅读 · 2 评论 -
建造者模式用JAVA的简单实现
建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。题目写情书,分为几个步骤:称呼对方 称赞对方 表白 约会交流Contend类主要包含,写情书的步骤public class Contend { private String askName; pub..原创 2020-09-25 22:52:29 · 561 阅读 · 0 评论 -
原型模式JAVA的简单实现
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。题目现在有一个房子,房子里面有条狗,要将房子和狗一起克隆house类pac.原创 2020-09-25 22:42:58 · 317 阅读 · 0 评论 -
抽象工厂模式----------JAVA实现
题目:某餐馆有三种主餐,分别是牛奶和汤匙、面包和刀、肉和叉子 ,其中牛奶、面包和肉都属于食物,汤匙、刀和叉子都属于餐具,请利用抽象工厂模式实现对主餐的创建。1.相关术语 产品等级结构:产品的继承结构,与类的继承相似。例如苹果是一个抽象的类,那么中国苹果、美国苹果和英国的苹果就是其子类。 产品族:指同一个工厂生产的,位于不同的产品等级结构的一组产品。例如苹果、香蕉和梨都产自中国,水果的等级结构不同,构成一个产品族。 抽象工厂:是一个接口,抽象工厂模式的核心,包含对多个产.原创 2020-09-23 15:43:20 · 547 阅读 · 0 评论