包你懂设计模式
文章平均质量分 81
设计模式对于了解后续的学习帮助非常大,本专栏旨在分别介绍23个设计模式,可能不会很深,帮助大家和我自己对设计模式有个较为全面的理解,为后续深入的学习奠定基础。
Ma-Aici
如切如磋,如琢如磨。
展开
-
设计模式之分类和介绍
不知道你是不是也像我一样,从事开发三两年甚至更久,却没有系统的了解过设计模式,甚至一度认为这是个没用的东西?设计模式是个好东西,每一位程序员不管你是那个门派的,学习设计模式都对你大有裨益!在往后的一段时间内我会逐个实现(使用c#)这二十三种设计模式,希望通过这二十三个疗程下来,我的体质能上一个台阶,哈哈。。。以下是菜鸟教程中对设计模式的介绍:设计模式(Design pattern)代表了最...原创 2019-02-22 16:46:17 · 799 阅读 · 0 评论 -
设计模式速记口诀
一、创建型速记口诀“单抽工建原”Singleton,单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点 Abstract Factory,抽象工厂:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类。 Factory Method,工厂方法:定义一个用于创建对象的接口,让子类决定实例化哪一个类,Factory Method使一个类的实例化延迟到了子类。 ...原创 2019-03-25 16:01:13 · 2905 阅读 · 0 评论 -
包你懂设计模式之:简单工厂模式
简单工厂模式属于创建型的设计模式,主要用它来创建需要特定的实例。从它的命名联想到我们现实生活中的工厂,我让他给我造手机,好了手机造好了;我让他造一个笔记本,也没问题;我让他造航母,“对不起我们是 apple ,不产这个!”。简单工厂模式就是对这种场景的抽象,我们要啥不需要我们自己造,工厂来!简单工厂模式的实现基于面向对象的继承和多态,首先定义一个父类(抽象类),然后下面我们定义一系类的类来...原创 2019-10-17 12:13:23 · 753 阅读 · 0 评论 -
包你懂设计模式之:单例模式(三种实现)
单例模式属于创建型的设计模式,它的产生是为了解决“一个类只能有一个实例”,它的定义为:“保证一个类只能有一个实例,并提供一个访问它的全局访问点”,从字面上的理解是很简单的,且看如何操作实现。一、常规实现1、私有化构造函数,不允许外部实例化创建对象的实例我们用New关键字,后面跟上类的构造方法,这样我们就完成了一次对象的创建,很显然我们按照这样的方法操作多次就会产生多个实例,所以我们为了防止类被多次实例化,首先要做的就是将构造函数私有化(public 改成 private)。2、提供一个外..原创 2020-08-13 12:21:28 · 1185 阅读 · 0 评论 -
包你懂设计模式之:工厂方法模式
在之前的博客中我介绍了简单工厂这个设计模式,今天我们需要里面的内容作为基础来讲解工厂方法模式,没有看到这边文章的小伙伴请戳:简单工厂模式通过上面的准备知识,我们了解了简单工厂是如何实现的,我们现在来分析一下。我们在客户端想要得到一个操作的实例时,需要调用 CalculateFactory 类中的GetCalculate() 方法,并且传递一个参数告诉工厂类我们需要实例化哪个具体操作,这样工厂类就会帮我们创建出来。这样做的好处在于客户端不在关注实例创建的具体细节,就能拿到对应实例。工厂类代码:pu.原创 2020-08-17 10:02:01 · 376 阅读 · 0 评论 -
包你懂设计模式之:抽象工厂
今天我们来到三大工厂设计模式的最后一个抽象工厂模式,之前我们聊过简单工厂和工厂方法两种设计模式,感兴趣的同学可以点进去看看,可以更快的了解今天要讲的内容。抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。这一点有别于我们之前的两种工厂,首先三种工厂模式都属于创建型的设计模式,他关注对象的创建,而前面介绍的两种都是关注单个对象的创建,而这一种则是关注的多个相关的或相互依赖的对象的创建。...原创 2020-08-31 16:13:41 · 444 阅读 · 0 评论 -
包你懂设计模式之:建造者模式(Builder Pattern)
建造者设计模式也是创建型设计模式,我们之前说过创建型设计模式关注对象的创建,当创建比较复杂的对象时我们可能会用到工厂模式,那啥时候用建造者模式呢?答案是创建比复杂还复杂的对象时。当我们需要创建的对象创建时还需要其他对象的实例时,而且还需要一定的顺序进行实例化,我们可以考虑使用创建者模式。这边我准备基于上一讲抽象工厂使用的例子来讲解,建议先去看抽象工厂,再来看建造者。我们以电脑的生产为例,假设我们生产电脑只需要处理器(CPU)、存储器和显示器这三个,所以要生产出一台电脑,就必须要先拿到这三个实例,然后原创 2020-09-02 10:39:14 · 392 阅读 · 0 评论 -
包你懂设计模式之:原型模式(Prototype Pattern)
原型模式属于创建型的设计模式,也是我设计模式系列中最后一个创建型的设计模式,之前的创建型模式有:简单工厂、工厂方法、抽象工厂、建造者模式、单例模式,直接点击查看。原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的实例。我们原先实例化对象一般用new关键字,或者用我们前面的提到的设计模式来获取实例。而原型模式给我们一种前所未用的全新体验,它不用去创建实例,不管实例化的过程多么复杂,完全不关心,只要有一个现成的实例就行,复制粘贴搞定。对象的实例在内存中存储,通过copy对应的这块内存区域能原创 2020-09-04 16:21:26 · 505 阅读 · 0 评论 -
包你懂设计模式之:适配器模式(Adapter)
适配器模式是这个专栏的第一个结构型设计模式,之前六篇介绍了创建型设计模式,欢迎大家查看和交流。适配器模式:将一个类的接口转换成客户希望的另外一个接口,Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器这个模式在我们生活中可以找到很多原型,比如下图中的港版插头需要接在内地的插座上,需要一个适配器,通过这个适配器使得原本不兼容的插座和插头可以连接起来,而我们又没有去改造插头或插座:在我们实际开发中也常常存在这样的情况,比如我们现在有下面这样一个接口,抽象了对数..原创 2020-09-08 13:54:41 · 504 阅读 · 1 评论