对象: 是一个自包含的实体,用一组可以识别的特性和行为来标识。 简单说, 一切事物皆为对象 。内些看的见,摸得着,听得到的都是对象。 类: 类是具有相同属性和功能的对象的抽象的集合。 就是将这些对象的属性功能提取出来,由 一般到特殊 的概念。 实例: 真实的对象。 由类这一抽象集合具体化形成的对象。 ...
分类:
编程语言 时间:
2020-01-05 18:34:26
阅读次数:
64
前言 话说设计模式是我们面试中经常遇到的问题,但是开发中遇到的也不少。之前一直想学设计模式,然后总结写一些文章,但一直忙于其它事情,现在终于要学习设计模式,参考的书籍是《大话设计模式》,这本书写得通俗易懂,推荐大家都去看一下。 场景描述 借用书中示例问题,计算两个数的加、减、乘、除等其它运算,一般我 ...
分类:
其他好文 时间:
2019-12-31 01:35:16
阅读次数:
76
前言话说设计模式是我们面试中经常遇到的问题,但是开发中遇到的也不少。之前一直想学设计模式,然后总结写一些文章,但一直忙于其它事情,现在终于要学习设计模式,参考的书籍是《大话设计模式》,这本书写得通俗易懂,推荐大家都去看一下。场景描述借用书中示例问题,计算两个数的加、减、乘、除等其它运算,一般我们的思维是自上而下处理问题,也就造成了运算两个数就要经过多次判断。场景示例两个数之前的算法运算,如下面代码
分类:
其他好文 时间:
2019-12-31 01:20:06
阅读次数:
79
一、简介 设计模式是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。 二、六大原则 a、单一职责原则 【基本介绍】 对类来说的,即一个类应该只负责一项职责。如类A负责两个不同职责:职责1,职责2。 当职责1需求变更而改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为 A1,A ...
分类:
其他好文 时间:
2019-12-23 11:47:23
阅读次数:
84
`简单工厂模式(Simple Factory Pattern)`: 是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类. 例: 使用Python设计一个控制台计算器,要求输入两个数和运算符号,得到运算结果。 1. 初学者写法 分析 :以上这种写法,将加减乘除运算全部放在一个 ...
分类:
编程语言 时间:
2019-12-22 14:51:16
阅读次数:
93
问题背景: 编程初学者都会有这样的问题,碰到问题就直觉地用计算机能够理解的逻辑来描述待解决的问题以及具体的求解过程,但这样的程序只为满足当前的需求,不容易维护和拓展。 问题解决思路: 设计一段代码之前,首先需要考虑到其可维护、可拓展性; 将面向对象特性充分融入到代码设计过程中; calculator ...
分类:
其他好文 时间:
2019-11-17 14:38:11
阅读次数:
64
装饰模式 当系统需要新的功能的时候,一般都是向旧的类中添加新的代码。比如一个人这个类,需要新增穿衣的功能,那么就会在人这个类中去添加对应的穿衣方法代码,用来增强人这个类的行为功能。但是这样做,会因为新加入的字段、方法等逻辑代码,导致原有 人 这个类变得复杂,新加入的穿衣功能并非 人 这个类的核心功能 ...
分类:
其他好文 时间:
2019-10-17 16:03:36
阅读次数:
93
装饰模式(Decorator):动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。 代码示例: 如果只有一个 ConcreteComponent 类而没有抽象的 Component 类,那么Decorator类可以是 ConcreteComponent 的一个子类。 同 ...
分类:
其他好文 时间:
2019-10-04 19:17:17
阅读次数:
87
前面说了写的一个数据库管理软件写配置文件,包括增删改查,不同数据库都是不一样的,如果写到一个函数里,函数太长想改一个东西得找半天,使用工厂来解耦.参考了大话设计模式. private void xmlsave() { string server = this.textBoxServer.Text; ...
分类:
其他好文 时间:
2019-10-02 00:51:41
阅读次数:
114
策略模式(strategy):它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化不会影响到使用算法的客户。 策略模式解析: 策略模式是一种定义一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使 ...
分类:
其他好文 时间:
2019-10-01 18:06:39
阅读次数:
109