
java 模式学习
浩_林
热爱技术,关注产品,追求梦想
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
IoC模式
转载至 1.依赖 依赖就是有联系,有地方使用到它就是有依赖它,一个系统不可能完全避免依赖。如果你的一个类或者模块在项目中没有用到它,恭喜你,可以从项目中剔除它或者排除它了,因为没有一个地方会依赖它。下面看一个简单的示例: /// /// 用户播放媒体文件 /// public class OperationMain {转载 2014-09-29 12:24:02 · 613 阅读 · 0 评论 -
设计模式六大原则(1):单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T转载 2015-03-14 12:13:21 · 487 阅读 · 0 评论 -
设计模式六大原则(6):迪米特法则
定义:一个对象应该对其他对象保持最少的了解。 理解 :只与直接的朋友通信 迪米特法则的主要用意是控制信息的过载,在将其运用到系统设计中应注意以下几点: 1) 在类的划分上,应当创建有弱耦合的类。类之间的耦合越弱,就越有利于复用。 2) 在类的结构设计上,每一个类都应当尽量降低成员的访问权限。一个类不应当public自己的属性,而应当提供取值和赋值的方法让外界间接访问自己的属性。转载 2015-03-14 12:59:31 · 673 阅读 · 0 评论 -
设计模式六大原则(5)合成/聚合复用原则
一:合成/聚合复用原则 尽量使用合成/聚合,尽量不要使用类继承 二:什么是合成? . 合成表示一种强的拥有关系,体现了严格的部分和整体的关系,部分和整体的生命周期一样,打个比方:人有两个胳膊,胳膊和人就是部分和整体的关系,人去世了,那么胳膊也就没用了,也就是说胳膊和人的生命周期是相同的 . 合成关系用实心的菱形+实线来表示 三:什么是聚合?转载 2015-03-14 12:55:45 · 816 阅读 · 1 评论 -
设计模式六大原则(4):接口隔离原则
定义:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。 通俗的理解:一个接口中包含的接口方法要适中,一个接口中尽量少放入许多无关的臃肿的方法。如果在一个接口中有很多的臃肿方法时,需要考虑拆分成多个接口。 举例如下 举例来说明接口隔离原则: (图1 未遵循接口隔离原则的设计) 这个图的意思是:类A依赖接口I中转载 2015-03-14 12:49:59 · 535 阅读 · 0 评论 -
设计模式六大原则(3):依赖倒置原则
DIP(Dependence Inversion Principle ) 简单说就是 1、高层不应当依赖低层 ,两者都应该依赖抽象 2、抽象不应该依赖于具体,具体应该依赖于抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操转载 2015-03-14 12:39:45 · 449 阅读 · 0 评论 -
设计模式六大原则(2):里氏替换原则
from http://blog.youkuaiyun.com/zhengzhb/article/details/7281833 Liskov于1987年提出了一个关于继承的原则“Inheritance should ensure that any property proved about supertype objects also holds for subtype objects.”——“继承必须确转载 2015-03-14 12:24:13 · 545 阅读 · 0 评论 -
MVC模式 重新理解
from MVC模式理解——当年给我一个browser多好 以前一直无法舒坦的理解,MVC模式是怎样实际应用到一个程序上的。 这两天因为工作google出一幅图,然后恍然大悟。 图1. 问题就出在以前所看过的文章上根本没有提过browser这层。导致我无法正确理解view的责任、controller的责任,以及两者明明是分层的,为什么却是循环依赖。 我将brows转载 2014-12-02 20:10:53 · 603 阅读 · 0 评论 -
访问者模式 (visitor pattern)
Visitor访问者模式定义 作用于某个对象群中各个对象的操作. 它可以使你在不改变这些对象本身的情况下,定义作用于这些对象的新操作. 在Java中,Visitor模式实际上是分离了collection结构中的元素和对这些元素进行操作的行为. 为何使用Visitor? Java的Collection(包括Vector和Hashtable)是我们最经常使用的技术,可是Collecti转载 2014-11-17 19:47:16 · 702 阅读 · 0 评论 -
UML模式结构
1.抽象工厂(Abstract Factory)模式 意图:为特定的客户(或情况)提供特定系列的对象。 2.类的适配器(Adapter)模式 意图:将一个类的接口转换成客户希望的另外一个接口。 3.对象的适配器(Adapter)模式 意图:将一个类的接口转换成客户希望的另外一个接口。 4.桥梁(Bridge)/柄体(Handle and转载 2014-10-08 14:43:04 · 818 阅读 · 0 评论 -
UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
继承、实现、依赖、关联、聚合、组合的联系与区别 分别介绍这几种关系: 继承 指的是一个类(称为子类、子接口)继承另外的一个类(称为父类、父接口)的功能,并可以增加它自己的新功能的能力,继承是类与类或者接口与接口之间最常见的关系;在Java中此类关系通过关键字extends明确标识,在设计时一般没有争议性; 实现 指的是一个class类实现interface接口(转载 2014-10-08 14:17:31 · 745 阅读 · 0 评论 -
Android开发之Buidler模式初探结合AlertDialog.Builder讲解
2014-08-15 0 个评论 来源:林泓成的专栏 转摘 自 http://www.2cto.com/kf/201408/326123.html 什么是Buidler模式呢?就是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.Builder模式是一步一步创建一个复杂的对象,它允许用户可以只通过指定复杂对象的类型和内容就可以构建它们. 那转载 2016-01-03 18:11:02 · 474 阅读 · 0 评论