![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
——【设计模式】
心似烟火
你心似烟火,我心如夜空
你绚烂我世界,我衬映你温柔
展开
-
面向对象基础总结
前言: 看过《大话设计模式》这本书,感触最深的就是面向对象的思想,使编程成为了一种艺术。下面对面向对象的基础知识进行总结。 一、基础总结: 类:类就是具有相同的属性和功能的抽象的集合。 构造方法:又叫构造函数,其实就是对类进行初始化。构造方法与类同名,无返回值,也不需要void,在new的时候调用。所有类都有构造方法,如果你不编码则系统默认生成空的构造方法,若你有定义好...原创 2016-12-03 19:42:16 · 380 阅读 · 25 评论 -
原则总结
单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。 开放-封闭原则:是说软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。 对于扩展是开放,对于更改是封闭的。开放-封闭原则是面向对象设计的核心所在。 依赖倒转原则:A.高层模块不应该依赖低层模块,两个都应该依赖抽象。B.抽象不应该依赖细节,细节应该依赖抽象。针对接口编程,不要对实现编程。依赖倒转原则是面向对象的标志。 里氏转...原创 2016-11-20 22:19:24 · 474 阅读 · 26 评论 -
设计模式总结
总体来说设计模式分为三大类:创建型模式、结构型模式、行为型模式。下面分别介绍它们和它们的结构图。 创建型模式(共五种):工厂方法模式、抽象工厂模式、原型模式、建造者模式、单例模式。 工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 原型...原创 2016-10-02 17:11:02 · 441 阅读 · 15 评论 -
初识《大话设计模式》
什么是设计模式? 百度解释:设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。毫无疑问,设计模式于己于他人于系统都是多赢的;设计模式使代码编制真正工程化;设计模式是软件工程的基石脉络,如同大厦的结构一样。 设计模式简介及分类: 总体来说设...原创 2016-09-11 12:12:18 · 612 阅读 · 21 评论 -
【设计模式】抽象工厂模式
一、定义: 抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 二、结构图: 三、代码实现: IDepartment接口,用于客户端访问,接触与具体数据库访问的耦合: interface IDepartment { void Insert(Department department); ...原创 2017-10-15 21:58:16 · 314 阅读 · 8 评论 -
【设计模式】原型模式
一、定义: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 二、结构图: 三、代码实现: 工作经历类 class WorkExperience:ICloneable { private string workDate; public string WorkDate { ...原创 2017-10-29 21:04:39 · 227 阅读 · 10 评论 -
【设计模式】建造者模式
一、定义: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 二、结构图: 三、代码展示: Product类——产品类,由多个部件组成 class Product { IList<string> parts = new List<string>(); public void Add...原创 2017-11-05 22:07:45 · 207 阅读 · 4 评论 -
【设计模式】桥接模式
一、定义: 桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。 二、结构图: 三、代码实现: Implementor类 abstract class Implementor { public abstract void Operation(); } ConcreteImplementorA和ConcreteIm...原创 2017-11-12 22:00:28 · 187 阅读 · 6 评论 -
【设计模式】观察者模式
一、定义: 观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 二、结构图: 三、代码实现: Subject类:(抽象通知者) abstract class Subject { private IList<Observer> ...原创 2017-11-19 22:12:53 · 183 阅读 · 16 评论