在实际类设计过程中,有时会遇到此类情况:由于实际的需要,某个类具有两个或两个以上的维度变化,如果利用继承将每种可能的变化情况都定义成一个类,一是会导致类膨胀的问题,二是以后不太好维护和并且违背类的设计原则。那么面对这种情况,类改如何设计呢?这就是本文所要讲到的桥接模式。简单的讲,桥接模式是指:将抽象...
分类:
其他好文 时间:
2014-05-29 21:52:33
阅读次数:
333
张三自从毕业后开始做软件开发,做着做着发现不爽了,钱赚不了太多,头发也白了。于是拿着一点小资本,想着做点小生意。瞅着眼前的餐饮行业还不错,于是打算开一家餐馆。开参观可不是一件容易的事,仅仅行政类的审批流程就不少。至少包括办理卫生许可证,办理税务登记,办理工商登记等。我们先来看一下行政审批接口:1
i...
分类:
其他好文 时间:
2014-05-29 02:52:37
阅读次数:
292
在上一篇的工厂方法模式中,通过一个公用的类对其他具有相同特性(实现相同接口或继承同一父类)的类的对象进行创建。随之带来的问题在于:当新定义了一个具有相同特性的类时,需要修改工厂类。这与设计模式中的开闭原则有些违背。因此,通过抽象工厂模式:创建多个工厂类而不是一个工厂类,一旦需要创建新的类对象,只需增...
分类:
其他好文 时间:
2014-05-26 13:49:47
阅读次数:
218
网上看到不少关于适配器模式的讲解,其中对于适配器模式解释的过于专业,一时不是特别理解适配器模式到底是用来干嘛的,具体的适用场景在哪,其最精髓的地方到底在哪。本文结合自己的理解,阐述下对适配器模式的看法。假设系统存在一个现有的类UserInfo:
1 class UserInfo { 2 3 ...
分类:
其他好文 时间:
2014-05-26 00:04:02
阅读次数:
312
时代在发展,我们发现,现在不少明星都开始进行微访谈之类的,有越来越多的参与捐赠等。新的一天开始了,首先看下新的一天的日程安排:1 interface
Schedule{2 3 public void weiTalk();4 5 public void donation...
分类:
其他好文 时间:
2014-05-25 20:12:29
阅读次数:
226
在面向对象设计过程中,经常会遇到需要对现有的类的功能进行扩展,通常我们可以采用继承的方式。例如老罗最近在做手机,一开始需要定义手机所应具有的功能:1
interface Phone{2 3 public void tel();4 5 public void sms()...
分类:
其他好文 时间:
2014-05-25 11:34:23
阅读次数:
272
关于建造者模式网上有很多文章,也有些不同的理解。在此结合网上其他文章对建造者模式进行总结。总体说来,建造者模式适合于一个具有较多的零件(属性)的产品(对象)的创建过程。根据产品创建过程中零件的构造是否具有一致的先后顺序,可以将其分为如下两种形式。一、通过Client、Director、Builder...
分类:
其他好文 时间:
2014-05-23 03:46:10
阅读次数:
312
从写第一篇今日头条高仿系列开始,到现在已经过去了1个多月了,其实大体都做好了,就是迟迟没有放出来,因为我觉得,做这个东西也是有个过程的,我想把这个模仿中一步一步学习的过程,按照自己的思路写下来,在根据碰到的知识点和问题,并且罗列出这些东西的知识点和使用方法。如果你单纯的把做好的一个DEMO拿去改改用用,那样,你永远不知道里面用到的内容是涉及到什么知识点,用什么方法实现,那样就没有多少提升价值而言了...
分类:
移动开发 时间:
2014-05-22 18:35:08
阅读次数:
488
工厂方法模式适合于对实现了同一接口或继承了同一父类的一些类进行实例的创建。一般是通过定义一个工厂类,并在其方法中实现对具有上述特点的类对象的创建。根据具体产生类对象的方法定义形式,又可以将其分为普通工厂方法模式、多个工厂方法模式和静态工厂方法模式。一、普通工厂方法模式:常见的经典写法如下(以发送邮件...
分类:
其他好文 时间:
2014-05-22 14:26:03
阅读次数:
236
在Java设计模式中,单例模式相对来说算是比较简单的一种构建模式。适用的场景在于:对于定义的一个类,在整个应用程序执行期间只有唯一的一个实例对象。如Android中常见的Application对象。通过单例模式,自行实例化并向这个系统提供这个单一实例的访问方法。根据此单一实例产生的时机不同(当然,都...
分类:
其他好文 时间:
2014-05-21 17:24:40
阅读次数:
291