六大设计原则 单一职责 定义 每个类都应该有一个单一的功能 一个类或者模块应该有且只有一个改变的原因 规范 定义类的方法 避免类之间耦合度太高 里氏替换 定义 只要有父类出现的地方,都可以用子类来替代 规范 不要破坏继承体系 增加子类的时候系统可以正常执行 依赖倒置原则 定义 高层模块不应该依赖底层 ...
分类:
其他好文 时间:
2020-05-02 10:18:12
阅读次数:
77
一、备忘录模式的概念 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便以后当需要时能将该对象恢复到原先保存的状态。该模式又叫快照模式。 二、什么时候使用备忘录模式 备忘录模式也算是设计模式中,几个比较简单的设计模式之一。它的目的是用于保存对象当前的状态,并且在之后可以 ...
分类:
其他好文 时间:
2020-05-02 09:46:53
阅读次数:
127
定义 确保某个类只有一个实例 实现方式 饿汉式加载(线程安全) 等价于 懒汉式加载 非线程安全 线程安全 1. Double Check 2. 借助Lazy "示例代码 github" ...
分类:
其他好文 时间:
2020-05-02 09:27:16
阅读次数:
58
初入公司,让写三个验证方法,验证邮箱,验证姓名,验证密码: function checkName() {} function checkEmail() {} function checkPassword() {} 等价于: var checkName = function() {}; var che ...
分类:
Web程序 时间:
2020-05-02 09:19:29
阅读次数:
80
中介者模式 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。 这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 中介者模式属于行为型模式。 实战应用参考:https://blog.csdn.net/lihangxiaoji/ ...
分类:
其他好文 时间:
2020-05-02 00:35:36
阅读次数:
94
目录 "设计模式——抽象工厂模式" "1. 模式简介" "2. 示例1 使用工厂模式实现对不同数据库的操作" "3. 示例2 多数据库且多表操作" "4. 重构示例2 使用简单工厂改进抽象工厂" "5. 重构示例2 反射+简单工厂" "6. 重构示例2 反射+配置文件+简单工厂" shanzm 20 ...
分类:
其他好文 时间:
2020-05-02 00:16:49
阅读次数:
77
原型模式 原型模式(Prototype Pattern),使用原型实例复制生成新的对象。若某个类的实例化比较复杂,完全重新创建成本较大,这时可以使用原型模式。这种模式是在内存(堆)中拷贝对象,比直接new一个对象节省资源。对象拷贝的时候构造器是不会执行。 结构图: Prototype:提供拷贝方法的 ...
分类:
其他好文 时间:
2020-05-02 00:14:48
阅读次数:
78
跟着虫师学的PO设计模式,PO设计模式的思想是:页面元素定位与操作分开; 一般把查找元素的操作放在BasePage文件中,对元素进行操作的代码放在具体的case文件中; 一、先定义badidu_page.py文件 代码如下: class BasePage(): def find_id(self,id ...
分类:
编程语言 时间:
2020-05-01 22:36:22
阅读次数:
112
"""metaclass但是在Python中,class并不只有这一角色。class实际上也是object。当我们使用class定义一个类的时候,Python会执行相应代码并在内存中创建一个名为example的object。class 类 :自身拥有创建对象(类的实例)的能力。本质还是对象1、类可以 ...
分类:
Web程序 时间:
2020-05-01 22:25:19
阅读次数:
69
Generator Pattern 生成器模式 Generators yields a sequence of values one at a time. 生成器一次生成一个值序列。 package main import "fmt" func Count(start int, end int) c ...
分类:
编程语言 时间:
2020-05-01 16:48:52
阅读次数:
58