随笔分类 -  设计模式

摘要:Unified Modeling Language (UML)又称统一建模语言或标准建模语言,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 UML分类 (1)静态模型(系统结构): 用例图、类图、对象图、构件图、部署图 阅读全文
posted @ 2019-09-18 00:05 sands 阅读(5645) 评论(4) 推荐(2) 编辑
摘要:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。 看下执行结果 实例化对象动作执行了4次,说明并发情况下有问题; 改下实现方式,增加锁 看下执行结果 依然不能保证 加锁并双重验证 看下执行结果 这下就不 阅读全文
posted @ 2019-09-04 17:07 sands 阅读(151) 评论(0) 推荐(0) 编辑
摘要:用原型实例指定创建对象的种类,并且通过拷贝这个原型来创建新的对象。 原型模式类似于细胞分裂,细胞在一定条件下,由一个分裂成2个,再由2个分裂成4个……,这个原始的细胞决定了分裂出来的细胞的组成结构。 Prototype类中包括一个clone方法,Client调用其拷贝方法clone即可得到实例,不需 阅读全文
posted @ 2019-09-04 17:07 sands 阅读(108) 评论(0) 推荐(0) 编辑
摘要:目标:将一个复杂对象的构建与表示分离,使同样的构建过程可以创建不同的表示。 使用场景:典型的KFC儿童餐包括一个主食,一个辅食,一杯饮料和一个玩具(例如汉堡、炸鸡、可乐和玩具车)。这些在不同的儿童餐中可以是不同的,但是组合成儿童餐的过程是相同的。 优点: 使用建造者模式可以使客户端不必知道产品内部组 阅读全文
posted @ 2019-09-04 16:58 sands 阅读(151) 评论(0) 推荐(0) 编辑
摘要:抽象工厂模式是是用一个超级工厂去创建其他工厂,简单点说就是工厂的父类,属于创建型模式。 目标:提供一个创建一组对象的方法,而无需指定它们具体的类(同工厂方法)。 使用场景:系统的产品有多于一个的产品族,而系统只消费其中某一族的产品。 实现:在一个工厂里聚合多个同类产品。 案例 上一个工厂方法模式的案 阅读全文
posted @ 2019-09-04 16:57 sands 阅读(148) 评论(0) 推荐(0) 编辑
摘要:定义一个用于创建对象的接口,让子类决定将哪一个类实例化。Factory Method使一个类的实例化延迟到其子类,属于创建型模式 在此模式中,工厂父类负责定义创建产品对象的公共接口,而工厂子类负责生产具体的产品对象,使一个类的实例化延迟到其子类,由子类来确定实例化哪个具体的产品类。 案例 调用者只需 阅读全文
posted @ 2019-09-04 16:56 sands 阅读(154) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示