Pattern
文章平均质量分 87
ilmlife
这个作者很懒,什么都没留下…
展开
-
设计模式学习—简单工厂模式
动机:统一接口角色: 工厂角色抽象产品角色具体产品角色 结构:优缺点 优点: 统一了接口:通过引入配置文件,可以在不修改任何客户端代码的情况下更换和增加新的具体产品类,在一定程度上提高了系统的灵活性。分离客户端和服务端:分离耦合 缺点: 整合了整个创建逻辑,一旦出问题,整个创建都将不能正常工作采用静态工程,无法继承扩展不易:没增加新产品就需要修改工厂逻辑 适用点:原创 2014-01-12 21:37:35 · 509 阅读 · 0 评论 -
设计模式学习—工厂方法模式
动机:解决简单工厂中增加新产品需要修改工厂逻辑角色: 抽象工厂(一个)具体工厂抽象产品(一)具体产品 结构: 4.优缺点: 优点: 用户只需要关心所需产品对应的工厂,无需关心创建细节,甚至无需知道具体产品类的类名工厂可以自主确定创建何种产品对象,而如何创建这个对象的细节则完全封装在具体工厂内部在系统中加入新产品时,无需修改抽象工厂和抽象产品原创 2014-01-12 21:39:59 · 494 阅读 · 0 评论 -
设计模式学习—单列模式
动机:对于系统来说,某些类只需要有一个实例或必需只能有一个实例(a.降低资源消耗;b.减少对象创建消耗的时间;c.减轻GC压力)结构: 3.优缺点 优点: 提供了对惟一实例的受控访问。节省系统资源 缺点: 由于单例模式中没有抽象层,因此单例类的扩展有很大的困难单例类的职责过重滥用单例将带来一些负面问题,如为了节省资源将数据库连接池对象设计为单原创 2014-01-12 21:33:10 · 605 阅读 · 0 评论 -
设计模式学习—单例模式(双重检查锁之无序写入)
Peter Haggar , 高级软件工程师, IBM 2004 年 5 月 01 日 所有的编程语言都有一些共用的习语。了解和使用一些习语很有用,程序员们花费宝贵的时间来创建、学习和实现这些习语。问题是,稍后经过证明,一些习 语并不完全如其所声称的那样,或者仅仅是与描述的功能不符。在 Java 编程语言中,双重检查锁定就是这样的一个绝不应该使用的习语。在本文中,Peter Hagga转载 2014-01-12 21:34:41 · 1150 阅读 · 0 评论 -
设计模式学习—抽象工厂模式
动机:产品有多个等级结构(需要一个工厂可以提供多个产品对象,而不是单一的产品对象。)角色: 抽象工厂(一)具体工厂抽象产品(多)具体产品 结构(其中A和B为一个产品族) 4.适用: 一个系统不需知道产品创建的细节系统产品有多于一个的产品族(A与B一族),系统只消费其中某一族的产品同属一个产品族的产品是在一起使用的系统提供一个产品类的库,所原创 2014-01-12 21:41:58 · 549 阅读 · 0 评论 -
设计模式学习—建造者模式
动机:构建与表示分离结构: 3.角色: 抽象建造者具体建造者指挥者产品 4.用例:javaMail、KFC套餐、游戏中的服装等 5.优缺点: 优点: 客户端不必知道产品内部组成的细节,将产品本身与产品的创建过程解耦每一个具体建造者都相对独立,而与其他的具体建造者无关。户使用不同的具体建造者即可得到不同的原创 2014-01-12 21:44:01 · 696 阅读 · 0 评论