文章分类 - 设计模式
摘要:策略者模式(Stragety Pattern) 一、概念 概念:将每个算法封装到不同的策略类中,使他们可以互换替换。 举例:中国所得税,分为企业所得税、外商企业所得税、个人所得税,针对每一种税收都有不同的计算方式,所以不使用策略模式来实现这一需求的话,我们就得建一个计算税收的CalculateTax
阅读全文
摘要:一、介绍 简单的来说,单例模式(单件模式)的作用是在保证在整个应用程序的生命周期中,任何时刻,单例类的实例只能存在一个(或者一个都不存在)。 作用:全局访问,实例化控制 设计模式结构图: 二、代码实现 C# 代码实现: 创建: /// <summary> /// 懒汉式单例模式 /// </summ
阅读全文
摘要:一、介绍 话说啊,我们公司小王上班期间总爱玩游戏,当然是在老板不在的时候了;但是呀,这家伙运气不好,总被老板抓,这天呢老板又出去了,他想到个好主意,我看到老板回来后立即在扣扣中提前震动他一下(由于我的座位更靠近门,老板来了我会第一个发现),让他知道老板要来,以免被抓。你会说这小王很聪明啊,是啊他刚好
阅读全文
摘要:抽象工厂模式(初版) 怎么理解抽象工厂模式呢?这篇的介绍我拖了好久,后面发现抽象工厂其实就是工厂方法模式的更一般化,也符合了抽象化即一般化的事物发展规律。单个产品的实现用工厂方法模式,多个产品的实现就需要横向扩展,扩展后就变为抽象工厂模式了。 3、优缺点 优势:满足开放封闭原则(OCP)、依赖倒置原
阅读全文
摘要:一、介绍 上一节我们介绍了简单工厂模式,在即将完成的时候留了个小尾巴,简单工厂模式在工厂类里有好多子类的创建过程,无疑这耦合度有些高,能不能把工厂类和子类的这一耦合降低呢?答案是可以的,工厂方法模式就是在简单工厂模式的基础上解决该问题的。他把工厂类提升为一个接口(IFactory),接口里有创建类的
阅读全文
摘要:一、介绍 设计模式的出现是解决代码的耦合,将功能颗粒化,各司其职;提高了代码的灵活性,使代码块 更容易扩展、更容易维护 及 更容易复用(不用粘来粘去) ,这节介绍工厂模式家族中最简单的一个 —— 简单工厂模式(Simpl Factory Pattern),根据外界给定的信息,决定创建哪个类的对象。就
阅读全文
摘要:前言 在大学的时候就接触了设计模式,那时候底子差,是真的一点都看不懂;老师推荐《大话设计模式》这本书,我弄到了这本书的电子版,毕业后看了前面的一小部分,还是感觉很茫然;一直到现在吧,这已经是毕业的2年零179天,现在写的这些代码,自己都有些看不下去了,突然想到,是不是应该用一用设计模式的理念呢?可是
阅读全文
摘要:对象:一切事物皆为对象,对象是一个自包含的实体,用一组可识别的特性和行为去标示。 类:具有相同属性和功能的抽象集合。 构造方法:对类进行初始化,与类同名,无返回值,也不需要void,在new时调用,所有类都有构造方法,如果你不写,系统会默认生成空的构造方法,如果你写了,这默认的自动失效。 方法重载:
阅读全文
摘要:理解:在进化的过程中出现了变异; 概念:一个对象,在不同的场合,执行相同的操作,返回不同的结果; 虚方法:①vitrual修饰 ②有方法实现(方法体)③子类不一定需要重写④如果子类重写了父类的虚方法,在执行时,会执行子类的虚方法; 抽象方法:①abstact修饰②只有方法声明,没有方法体③子类必须重
阅读全文
摘要:在学习这部分知识之前,我先提几个问题: 1. 控制反转(IOC:Inversion of Control),难道是A类调用B类,改写成B类调用A类么?不合适啊 2. 依赖注入(DI:Dependency Injection),我觉得只要看到一个函数的参数中的类型有接口或抽象类类型的,那么它一定用到了
阅读全文
摘要:UML图学习 一、介绍 网上有很多开源免费的UML画图工具,今天我们介绍我老大推荐的一款 ArgoUML,界面上的菜单基本都是中文,也好理解。 二、样例 包括三层的矩形图代表一个类(Class),第一层为类名,如果为抽象类则用斜体字表示;第二层为特性,通常为字段和属性;第三层为类的操作,通常为方法和
阅读全文

浙公网安备 33010602011771号