单例模式相信大家都有所听闻,甚至也写过不少了,在面试中也是考得最多的其中一个设计模式,面试官常常会要求写出两种类型的单例模式并且解释其原理,废话不多说,我们开始学习如何很好地回答这一道面试题吧。 什么是单例模式 面试官问什么是单例模式时,千万不要答非所问,给出单例模式有两种类型之类的回答,要围绕单例 ...
分类:
其他好文 时间:
2020-07-19 11:32:33
阅读次数:
62
一、概述 1. 什么是设计模式 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。其目的是为了提高代 ...
分类:
其他好文 时间:
2020-07-18 21:53:33
阅读次数:
73
设计模式之原型模式 Intro 简介 原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象 原型模式其实就是从一个对象再创建另外一个可定制的对象而且不需要知道任何创建的细节。 实现方式 实现方式大致如下: 在 c# 中可以借助 ICloneable 接口和 MemberwiseC ...
分类:
其他好文 时间:
2020-07-18 00:41:48
阅读次数:
76
不知不觉,在开发这条道路上摸爬打滚也有些年头了,偶尔回头看看以前写的代码,真可谓粗糙至极。当然了,那时候还是小白,代码写得难看些情有可原,不过现在可不能再用以前的标准去衡量自己了,因此掌握一些高级架构技巧是必须的,设计模式正是一个很好的敲门砖。 在我看来,设计模式不仅仅只是一套模板,要想掌握设计模式 ...
分类:
其他好文 时间:
2020-07-17 11:11:25
阅读次数:
95
23种设计模式——桥接模式 桥接模式 将抽象部分与它的实现部分分离,使他们都可以独立地变化。是一种对象结构模式 下面第一张图是我们经常看到的,要是用代码实现的话要分成很多很多的类,这显然不是我们想要的,违反了单一职责原则;桥接模式就是来解决这种问题,演变成了第二张图,通过连接点连接起来,但又不相互干 ...
分类:
其他好文 时间:
2020-07-16 21:56:39
阅读次数:
78
一.工厂模式的定义: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类 由产品工厂(接口)规定规范,由产品子类进行实现,当增加产品时,只需要扩展一个新的类去实现这个接口,并由客户端向上转型调用。 二.例子类图表示 ...
分类:
其他好文 时间:
2020-07-16 21:45:09
阅读次数:
60
02第一次需求 玩家有很多属性,例如:身高,性别 blalalala ,玩家可以攻击其他玩家。产品狗 YY妹子写程序也是很利索,一天就把程序搞定了,而且还抽象出一个palyer的基类出来,堪称高级程序员必备技能 //玩家的基础抽象类 abstract class Player { public st ...
分类:
其他好文 时间:
2020-07-16 21:20:58
阅读次数:
58
在模板模式中,定义了一个公开的执行模板的方法,字类可以按照需自己实现方法,但是它们的调用方法是必须要按照抽象类的方式来进行。 意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 主要解决:一些方法通用,却在每一个子类都 ...
分类:
其他好文 时间:
2020-07-16 18:16:21
阅读次数:
66
观察者模式主要存在于一对多的情况下,一个对象的修改需要通知多个依赖它的对象,它属于行为型的一种模式; 意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协 ...
分类:
其他好文 时间:
2020-07-16 12:24:37
阅读次数:
91
前言 单例模式应该是所有接触的设计模式初学者第一个听过的设计模式,这个模式应该是所有设计模式中最简单的一个模式了。值得注意的是,许多开发者将单例模式视为一种反模式,因此单例模式在 Python 中的使用频率现在越来越少了。 反模式(英文:Anti-patterns或pitfalls), 是指用来解决 ...
分类:
其他好文 时间:
2020-07-16 11:47:47
阅读次数:
55