
Java-设计模式
莫特@
微风拂静叶 缘起何方
展开
-
接口隔离原则含义
接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。也就是说,我们要为各个类建立专用的接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。接口隔离原则在开发中的注意事项:接口尽量小,但是要有限度。对接口进行细化可以提高程序设计灵活性是不挣的事实,但是如果过小,则会造成接口数量过多,使设计复杂化。所以一定要适度。为依赖接口的类定转载 2016-11-17 12:16:15 · 1156 阅读 · 0 评论 -
DAO模式
DAO(Data Access Object):数据访问对象 属于JAVAEE的数据层的操作,用来完成数据库的访问,实现基本的CURD数据库操作DAO包括五个部分: 1. 数据库连接类 实现数据库连接封装的操作 2. javabean类 对应数据库中的表 每个b原创 2016-12-08 16:54:14 · 356 阅读 · 0 评论 -
Java回调通俗理解
在网上找了很多的有关Java方法回调的实例,很多时候都是看的云里雾里,现在稍微对这个有一点自己的理解,所以写下了供大家参考,可能有误,谨慎参考。说明:第一次主动调用的对象被称为“调用者”,调用者有一个调用方法A,被回调的方法AA。 被调用的那个对象被称为“受调者”,受调者被调用者调用的那个方法为B。过程:调用者方法A调用了受调者的方法B,B开始执行方法内的代码,然后这个方法在执行的原创 2016-12-24 20:34:17 · 487 阅读 · 0 评论 -
关联-依赖-聚合
面向对象设计中的关联,依赖,聚合关联一般涉及到数量,有一对一,一对多,多对多;关联一般是有方向的,如果加上方向,那么关联就还有多对一。比如顾客预订单之间就是一种一对多的关联关系,从面向对象的角度考虑顾客和订单都是对象,那么在设计对象的时候就要考虑关联关系和关联的方向,假如要设计成顾客到订单的一对多关联,那么此时在顾客对象类中就应该有订单这个属性,并且这个属性是一个集合;假如要设计成订单原创 2017-01-05 22:44:11 · 338 阅读 · 0 评论 -
同步-异步--阻塞-非阻塞
同步与异步牵扯到这两个概念的前提是两个线程会有某些微妙的联系并需要进行通信,不然牵扯不到同步与异步问题。同步场景:我要去上厕所,去了卫生间以后发现蹲位都被占了,并且此时还有两个人在排队等候,而我又必须上厕所,此时我就必须排队等待,这就是所谓的同步。特点是必须等待,等的时间不能干其他任何事情(排队的时候还是可以玩哈手机,抽根烟的,但是蹲位有没有空出来需要自己去判断)。异步场景:去了厕所还原创 2017-01-08 21:25:48 · 407 阅读 · 0 评论 -
里氏替换原则含义
里氏替换原则包含以下4层含义:子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法。子类中可以增加自己特有的方法。当子类覆盖或实现父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。转载 2016-11-17 11:27:11 · 1026 阅读 · 0 评论 -
依赖倒置原则
依赖倒置原则包含三层含义:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。依赖倒置原则在Java语言中的表现就是:模块间的依赖是通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;接口或抽象类不依赖于实现类;实现类依赖接口或抽象类。名词解释:高层模块:高层标准的定义层,比如接口和抽象类转载 2016-11-17 11:59:10 · 876 阅读 · 0 评论 -
MVC设计模式
简述提示:个人浅见可能有误MVC设计模式中,应用程序被分为三个部分:模型,视图,控制器。模型又通常分为数据模型和业务逻辑模型(数据模型如通常所说的JavaBean,业务逻辑模型如DAO),数据模型一般只存放业务数据状态,并没有业务的逻辑处理;而相反业务逻辑模型则一般不包括业务的数据状态,而是对业务数据状态的操作,比如常见的DAO。视图一般也不不含业务数据的处理逻辑,仅仅是根据模型构原创 2017-04-19 14:00:12 · 1718 阅读 · 0 评论 -
单例模式写法
第一种(懒汉,线程不安全): 1 public class Singleton { 2 private static Singleton instance; 3 private Singleton (){} 4 public static Singleton getInstance() { 5 if (instance ==转载 2017-06-24 15:32:38 · 318 阅读 · 0 评论 -
java动态代理详解(好文)
引言Java 动态代理机制的出现,使得 Java 开发人员不用手工编写代理类,只要简单地指定一组接口及委托类对象,便能动态地获得代理类。代理类会负责将所有的方法调用分派到委托对象上反射执行,在分派执行的过程中,开发人员还可以按需调整委托类对象及其功能,这是一套非常灵活有弹性的代理框架。通过阅读本文,读者将会对 Java 动态代理机制有更加深入的理解。本文首先从 Java 动态代理的运行机制转载 2016-12-01 14:41:37 · 1032 阅读 · 0 评论 -
顺序存储和链式存储
一:顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。它的优点是: (1)方法简单,各种高级语言中都有数组,容易实现。 (2)不用为表示节点间的逻辑关系而增加额外的存储开销。 (3)顺序表具有按元素序号随机访问的特点。缺点: (1)在顺序表中做插入、删除操作时,平均移动表中的一半元素,因此对n较大的顺序表效率低。 (2转载 2016-11-18 17:58:09 · 3053 阅读 · 0 评论 -
迪米特法则含义
概述迪米特法则要求类“羞涩”或者说是私密一点,尽量不要对外公布太多的public方法和非静态的public变量,尽量内敛,多使用private、package-private、protected等访问权限。迪米特法则的核心观念就是类间解耦,弱耦合,只有弱耦合了以后,类的复用率才可以提高。类与类之间只需要开放彼此需要的接口,而且对方不知道接口中具体的实现细节,提供服务的类可定义相应的参数原创 2016-11-17 13:05:41 · 1250 阅读 · 0 评论 -
开闭原则含义
开闭原则的核心思想就是:对扩展开放,对修改关闭。而扩展和修改的关键方式就是接口和抽象类的利用抽象约束第一,通过接口或者抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或抽象类中不存在的public方法;第二,参数类型、引用对象尽量使用接口或者抽象类,而不是实现类;第三,抽象层尽量保持稳定,一旦确定即不允许修改。元数据(metadata)控制模块行转载 2016-11-17 13:28:43 · 1377 阅读 · 0 评论 -
单例模式
第一种(懒汉,线程不安全): Java代码 public class Singleton { private static Singleton instance; private Singleton (){} public static Singleton getInstance() { if (instance == nu转载 2016-11-17 14:23:45 · 222 阅读 · 0 评论 -
原型模式
个人简析原型模式的理解关键在于Java中深克隆和浅克隆的理解,只要理解了这个基本就理解了原型模式,原型模式就是利用Java的克隆特性先实例化一个对象,然后其他的对象都是通过当前实例化以后的对象克隆得到的,也就是说我们真正需要的对象不再是重新实例化克隆:Java的clone()方法⑴clone方法将对象复制了一份并返回给调用者。一般而言,clone()方法满足转载 2016-11-17 17:09:54 · 308 阅读 · 0 评论 -
桥接模式
说明实例分析: 路有高速和低速等,车有大车和小车等。如果业务只针对路和车展开,那么现在有两个维度,每一个维度可能有多种类型,比如路有N种类型,车有M中类型,那么车跑在路上就有N*M中组合。假设现在再加一个维度“人”,人有大人,老人,男人 ,女人等B种类型,那么现在的维度组合数是N*M*B。很明显,这个组合数已经相当大,如果面对的是一个比较大的项目,那么规模可能超出我们的承受范转载 2016-11-17 20:45:58 · 352 阅读 · 0 评论 -
设计模式总结
Java当中的设计模式:创建模式,结构模式和行为模式。一、创建模式设计模式之Factory(工厂模式)设计模式之Prototype(原型模式):用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。设计模式之Builder:汽车由车轮 方向盘 发动机很多部件组成,同时,将这些部件组装成汽车也是一件复杂的工作,Builder模式就是将这两种情况分开进行。转载 2016-11-18 11:57:54 · 346 阅读 · 0 评论 -
MVC设计模式
MVC 模式结构 MVC 模式将应用分为模型、视图和控制器三个部分: 1. 视图:数据的展现。 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。 2. 模型:应用对象。 模型是应用程序的主体部分。 模型代转载 2016-11-18 12:22:53 · 629 阅读 · 0 评论 -
DAO设计模式
DAO即数据访问对象 属于JAVAEE的数据层的操作 用来完成数据库的访问,实现基本的CURD数据库操作DAO包括五个部分: 1. 数据库连接类 实现数据库连接封装的操作 2. javabean类 对应数据库中的表 每个bean对应一张表 3. D转载 2016-11-18 12:53:49 · 386 阅读 · 0 评论 -
Java代理模式(动态与静态)
为了保持行为的一致性,代理类和委托类通常会实现相同的接口,但是这个并不是强制性的。动态代理类的字节码在程序运行时由Java反射机制动态生成。java.lang.reflect 包中的Proxy类和InvocationHandler 接口提供了生成动态代理类的能力。 可以将InvocationHandler接口的子类想象成一个代理的最终操作类。Proxy类是专门完成代理的操作类,转载 2017-01-10 17:57:49 · 467 阅读 · 0 评论