设计模式
文章平均质量分 93
bin_csdn_
github: https://github.com/BinGithub2015
展开
-
依赖注入(C#)
设计模式学习笔记一,依赖注入(Dependency Injection,简称DI)设计模式中,尤其是结构型模式很多时候解决的就是对象间的依赖关系,变依赖关系具体为依赖具象。平时开发中如果发现客户程序依赖某个(或某类)对象,我们常常会对它们进行一次抽象,形成抽象的抽象类、接口,这样客户程序就可以摆脱所依赖的具体类型。二,实现(C#)示例情景假设,现在程序需要一个获取不同时间格式的的当前时间。 我们定原创 2017-07-30 00:04:31 · 18114 阅读 · 0 评论 -
设计模式学习笔记
一,设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠原创 2017-07-23 20:57:24 · 866 阅读 · 0 评论 -
单例模式
设计模式学习笔记一,单例模式单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。注意: 1、单例类只能有一个实例。 2、单例类必须自己创建自己的唯一实例。 3、单例类必须给所有其他对象提供这一实例。二,介绍意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。主要解决:一个全局使用的类频繁地创建与销毁原创 2017-07-23 23:09:19 · 378 阅读 · 0 评论 -
工厂模式(简单工厂模式、工厂方法模式)
设计模式学习笔记一,工厂模式在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象。二,介绍意图:定义一个创建对象的接口,让其子类自己决定实例化哪一个工厂类,工厂模式使其创建过程延迟到子类进行。主要解决:主要解决接口选择的问题。何时使用:我们明确地计划不同条件下创建不同实例时。如何解决:让其子类实现工厂接口,返回的也是一个抽象的产品。关键代码:创建过程原创 2017-07-27 00:00:48 · 758 阅读 · 0 评论 -
原型模式
设计模式学习笔记一,原型模式原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需要的时原创 2017-07-28 00:07:20 · 555 阅读 · 0 评论 -
抽象工厂模式
设计模式学习笔记一,抽象工厂模式抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。二,介绍意图:提供一个创建一系列相关或相互依赖对象的接口原创 2017-07-27 23:37:14 · 490 阅读 · 0 评论 -
建造者模式
设计模式学习笔记一,建造者模式建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。二,介绍意图:将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。主要解决:主要解决在软件系统中,有原创 2017-07-27 23:46:49 · 503 阅读 · 0 评论 -
观察者模式
设计模式学习笔记一,观察者模式当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。别名发布-订阅(Publish/Subscribe)模式模型-视图(Model/View)模式源-监听器(Source/Listener)模式从属者(Dependents)模式二,介绍意图:定义对象间的一原创 2017-07-28 00:30:45 · 534 阅读 · 0 评论