- 博客(17)
- 收藏
- 关注
原创 设计模式之禅——(代理模式2 代理模式&AOP编程&JDK对代理模式的支持)
动态代理部分的代码 例子:游戏玩家找代理刷怪升级 //玩家接口类 public interface IGamePlayer { public void login(String user, String password); public void killBoss(); public void upgrade(); } //具体玩家类 public class Game...
2018-11-24 14:56:01
140
原创 设计模式之禅——(代理模式1 普通代理&强制代理&虚拟代理&动态代理)
代理模式的定义: 为其他对象提供一种代理以控制对这个对象的访问。 例子:玩家玩网游打怪、升级~ 见UML图 代码 //玩家接口类 public interface IGamePlayer { public void login(String user, String password); public void killBoss(); public void upgrade...
2018-11-24 14:53:56
382
原创 设计模式——(适配器模式)
适配器模式是在系统整体已经设计完成时采用适配器模式满足新的需求的一种设计模式。 比如说,你的笔记本电脑是用电源做适配器将外界电压转换成笔记本电脑适用电压的。不能是为了电压去设计电脑。 例子:鸭子和火鸡【来自-深入浅出设计模式】 首先,我来写一下我已经做好的系统:一只鸭子在飞,在叫。 见代码: public interface Duck { public void qucak();//鸭子呱...
2018-11-23 14:32:33
157
1
原创 设计模式之禅——(抽象工厂模式)
定义: 为创建一组相关或相互依赖的对象提供一个接口,而且无需指定它们的具体类。 抽象工厂模式的通用类图 抽象工厂是工厂方法模式的升级版本,在多个业务品种、业务分类时,通过抽象工厂模式生产所需要的对象是一种非常好的方式。所以理论上讲,工厂模式能做的事抽象工厂模式来做也没有问题,高版本兼容低版本嘛~ 开车了~ 女娲造人后传 女娲造人之后发现造出来的人太单调了,因为忘记给人类定义性别了。那现在我们给人...
2018-11-23 14:12:58
151
原创 设计模式之禅——(工厂方法模式)
工厂方法模式的定义: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到子类 样例:女娲通过八卦炉造白种人、黄种人、黑种人。 见代码: //工厂要生产的人的接口 public interface Human{ //有两个方法 public void getColor(); public void talk(); } //黑种人 public cl...
2018-11-23 11:15:58
100
原创 设计模式之禅——(装饰者模式)
person类: public class person{ //属性 public void description{ System.out.println("一个人"); } } 现在有三个修饰条件: 带帽子 穿白色T-shirt 穿白色鞋子 好了,你要用这三个条件来修饰这个person。要注意,这里的修饰词是有顺序的。 现在这个人带上了帽子,要再穿白色...
2018-11-23 11:04:42
98
原创 设计模式之禅——(观察者模式)
观察者模式也叫做发布订阅模式(Publish/subscribe),它是一个经常在项目中使用的模式. 定义 定义对象之间一对多的以来关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并自动更新。 【观察者模式最大的优点就是使得增加观察者和删除观察者变得很容易,然后通知观察者的方式是中断,不是轮询,提高CPU利用率】 例子:李斯让间谍监控韩非子,然后报告给秦始皇 【因为观察者模式非常简...
2018-11-23 10:30:07
183
原创 设计模式之禅——(单例模式)
定义: 确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 古代的皇帝就应该是一个单例,代码如下: package com.sdkd.hms; public class Emperor { private static final Emperor emperor = new Emperor(); private Emperor(){ ...
2018-11-21 22:07:22
221
原创 设计模式之禅——六大原则(迪米特原则)
迪米特原则定义: 一个对象应该对其他对象有最少的了解 包含以下四层定义 1、只和朋友交流 朋友类的定义是这样的:出现在成员变量、方法的输入输出函数中的类成为成员朋友类,而出现在方法体内部的类不属于朋友类。 我把书上的例子简化了一下: A让B去数有多少个C public class A{ public void command(B b){ List<C> list...
2018-11-21 11:26:20
136
原创 设计模式之禅——六大原则(开闭原则)
对修改关闭,对拓展开放 书店卖书举例: //书的抽象类(抽象类包括接口和Abstract类) public interface IBook { public String getName(); public int getPrice(); public String getAuthor(); } ---------- //书的具体实现类 package com.sdkd.h...
2018-11-21 10:25:14
158
原创 原 设计模式之禅——六大原则(接口隔离原则)
接口隔离原则的定义: 建立单一接口,不要建立臃肿放大的接口。接口尽量细化,同时接口中的方法尽量少。 这不是单一职责原则,单一职责要求的是类和接口的职责单一,注重的是职责,这是业务逻辑上的划分,而借口隔离原则要求接口的方法尽量少。例如一个接口的职责可能包含是个方法,这是个方法都放在一个接口中,并且提供给多个模块访问,这10个方法都放在一个接口中,并且提供给多个模块访问,各个模块按照规定的权限来访问,...
2018-11-21 09:44:52
166
原创 原 设计模式之禅——六大原则(依赖倒置原则)
依赖倒置原则定义: 高层模块不应该依赖底层模块,两者都应该依赖其抽象; 抽象不应该依赖细节; 细节应该依赖抽象 每一个逻辑的实现都是逻辑的实现都是由原子逻辑组成的,不可分割的原则逻辑就是底层模块,原则逻辑的再组装就是高层模块。 在Java中,抽象就是接口或抽象类,两者都是不能直接被实例化的在Java中,抽象就是接口或抽象类,两者都是不能直接被实例化的 细节就是实现类,实现接口或继承抽象类而产生的...
2018-11-20 14:40:44
172
原创 设计模式之禅——六大原则(里氏替换原则)
@原 设计模式之禅——六大原则(里氏替换原则) 里氏替换原则的定义 只要有父类能出现的地方子类就可以出现,而且替换为子类也不会产生任何错误或异常,使用者可能不需要知道是父类还是子类。但是,反过来就不行,有子类出现的地方,父类未必能适应. 里氏替换原则为良好的继承定义了一个规范,子类必须完全实现父类的方法: public interface gun{ void shoot(); } pub...
2018-11-20 14:31:07
226
原创 设计模式之禅——六大原则(单一职责原则)
设计模式之单一职责原则 Single Responsibility Principle 简称SRP 定义:应该有且仅有一个原因引起类的变更 用户管理类的接口: (该接口设计存在问题,用户的属性和用户的行为没有分开,这是一个严重的错误。我们应该吧用户的信息抽取成一个BO(Bussiness Object,业务对象),把用户的信息抽取成一个Biz(Business Logic, 业务逻辑),如下图所...
2018-10-30 20:23:26
372
转载 cookie、session、sessionid 与jsessionid
cookie、session、sessionid 与jsessionid,要想明白他们之间的关系,下面来看个有趣的场景来帮你理解。 我们都知道银行,银行的收柜台每天要接待客户存款/取款业务,可以有几种方案: 凭借柜台职员的记忆,由收柜台职员来为每位顾客办理存款/取款业务,单凭职员的记忆力,要记到...
2018-10-09 09:55:58
91
原创 Java类的加载和对象创建过程简述
Java中一个对象创建分为两个步骤: 加载类,创建对象。 加载类是将所写的程序.java文件编译生成的.class文件加载到内存中,保证了对象创建的预置环境。类加载完毕后才可以创建该类的对象。 第一步:加载类 当开始运行一个类,虚拟机首先试图访问指定启动类的 .main() 方法,加载该类的 .class 文件。 如果该类有父类,那么继续加载其父类,以此类推,直到加载出所有与main入口类...
2018-09-18 15:31:44
412
转载 Java 对象和对象引用
一、前言 在java学习中,理解对象以及对象的引用是万里长征的第一步。但是,现在大量的java学习书籍都将对象以及对象的引用混为一谈,然而实际上它们有着本质的区别。为了帮助更多的java学者更好的理解,我将自己的学习理解记录下来。如有理解不全或者错误的地方,欢迎大家批评指正。 二、分析对象引用与对象的区别  ...
2018-09-18 10:10:42
132
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人