设计模式
文章平均质量分 85
初心不忘
这个作者很懒,什么都没留下…
展开
-
设计模式之简单工厂方法模式和工厂方法模式
假设现在有一个网上车辆交易系统,可以买整车或者买该型车的零部件,现在有三种车型,林肯、凯迪拉克和别克,系统根据用户的选择来显示相应产品的具体信息,那么我们可以这样设计: 这样设计无疑是有很多缺点的,首先,在客户端有很多if语句,其次,客户端需要知道所有的产品类细节。那么如何改善上述的设计呢?或许我们可以根据条件的选择,用一个专门的类来创建具体的产品。这样客户端就可以不需要原创 2016-04-03 17:51:02 · 3657 阅读 · 0 评论 -
设计模式之抽象工厂模式
在上一篇博客中我们使用了工厂模式来设计一个网上车辆交易系统,在那个例子中只有汽车这一种单一类型的商品。那么,如果有多种类型的商品,还能用工厂方法模式吗?举个例子,现在有个网上服装买卖系统,有三种服装---鞋、套装和衬衫,其中又分为男鞋女鞋、男套装和女套装、男衬衫和女衬衫,即如下商品: 按照上节中说到的工厂方法模式,应该这样设计,使用三个工厂来创建三个对象: 这样做原创 2016-04-04 17:06:47 · 3118 阅读 · 0 评论 -
设计模式之适配器模式
什么是适配器模式 在生活中我们经常会遇到接口不一致的场景,例如两个不同粗细的水管需要连接到一起,电器的工作电压和电线的电压不通.适配器模式将是一个类的接口转换成希望的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作.适配器分为两种: 类适配器 对象适配器: 适配器模式的特点 让功能原创 2016-05-17 20:46:39 · 942 阅读 · 0 评论 -
设计模式之桥接模式
概述 在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用桥接模式。 应用场景 现在有咖啡,按大小分可以分为中杯和大杯,按类型可以分为拿铁和摩卡,所以现在总共有四中咖啡,中杯拿铁,大杯拿铁,中杯摩卡,大杯摩卡,按照传统的做法会原创 2016-05-19 09:58:57 · 991 阅读 · 0 评论 -
设计模式之单例模式
什么是单例模式 单例模式保证一个类只有一个实例,并且自行实例化向整个系统提供这个实例。 单例模式的特点 优点: 由于只有一个对象,可以节省内存空间;只创建一个实例,避免频繁的创建销毁实例;避免对共享资源的多重占用;可以全局访问。 适用场景: 需要频繁实例化然后销毁的对象;创建对象时耗时过多或者耗资源过多,但又经常用到的对象;原创 2016-05-17 19:23:41 · 994 阅读 · 0 评论 -
设计模式之装饰器模式
装饰器模式 装饰模式又名包装(Wrapper)模式。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 要点: 装饰者与被装饰者拥有共同的超类,继承的目的是继承类型,而不是行为. 使用 //公共的接口 public interface CommonInterface { public void action(); }//被装饰的类 pub原创 2016-05-21 11:08:49 · 895 阅读 · 0 评论