关键词:
1 Pull up Field(字段上移)
2 Pull up Method(函数上移)
3 Pull up Constructor Body(构造函数本体上移)
4 Push Down Method(函数下移)
5 Push Down Field(字段下移)
6 Extract Subclass(提炼子类)
7 Extract Superclass(提炼超类)
8 Extract Interface(提炼接口)
9 Collapse Hierarchy(折叠继承体系)
10 Form Template Method(塑造模板函数)
11 Replace Inheritance with Delegation(以委托取代继承)
12 Replace Delegation with Inheritance(以继承取代委托)
重构手法之处理概括关系
返回总目录10FormTemplateMethod(塑造模板函数)概要你有一些子类,其中相应的某些函数以相同的顺序执行类似的操作,但各个操作的细节不同。将这些操作分别放进独立的函数中,并保持它们都有相同的签名,于是原函数也就变... 查看详情
python之路第六篇:socket(代码片段)
Socketsocket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打... 查看详情
重构.改善既有代码的设计11处理概括关系更优雅的继承
11、处理概括关系【更优雅的继承】 PullUpField(值域上移)两个subclasses拥有相同的值域。将此一值域移至superclass。 PullUpMethod(函数上移)有些函数,在各个subclass中产生完全相同的结果。将该函数移至superclass。 PullUp... 查看详情
第六篇:数据预处理-数据标准化
前言 在进行缺失,异常处理之后,往往要对数据进行变换。 变换有多种情况,主要是以下两种: -规范化:对数据进行一定比例的缩放,让它实质落入某个具体区间。 ... 查看详情
第六篇:使用预处理器帮助调试
前言 你是否遇到过以下情况? 情况一:为了调试方便,代码中夹杂各种cout语句。当调试好了,把这些语句删了,运行“正式版”后,又发现新问题,只得把这些cout语句一个个添加回去... 查看详情
jsp第六篇自定义标签之传统标签
为什么要使用自定义标签?JSTL标签库只提供了简单的输出等功能,没有实现任何的HTML代码封装,并且某些复杂类型转换,或者逻辑处理的时候,JSTL标签库完成不了,需要自定义标签!编写自定义标签的步骤:编写一个实现Tag接... 查看详情
第六篇:springboot整合jpa
什么是Jpa? Jpa(JavaPersistenceAPI)是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术,结束现在Hibernate,Top... 查看详情
mybatis之旅第六篇-关联查询
一、引言通过动态SQL我们可以进行复杂SQL的编写,但之前的例子都是单表查询,在实际开发中,当然不可能都是单表,很多时候我们需要进行关联多表查询(有些公司为了性能还是尽量的使用单表查询),表与表之间的关系分为... 查看详情
第六篇数据类型
整数(int)Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样,例如:1,100,-8080,0,等等。浮点数(float)浮点数也就是小数,之所以称为浮点数,是因为按照科学记数法表示时,一个... 查看详情
第六篇:面向对象
第六篇:面向对象 PYTHON-面向对象类绑定方法PYTHON-面向对象继承派生PYTHON-面向对象-练习-王者荣耀对砍游戏 查看详情
第六篇vggnet——模型精讲
文章目录 查看详情
学习目录
目录Python之路【第一篇】:Python简介和入门 Python之路【第二篇】:Python基础(一)Python之路【第三篇】:Python基础(二)Python之路【第四篇】:模块Python之路【第五篇】:面向对象及相关Python之路【第六篇】:SocketPython... 查看详情
第六篇:组件数据局部化处理(代码片段)
组件数据局部化处理同一个页面可能同时复用一个组件两次,但每个组件的数据不相同,需要区分开,因此我们需要对组件的数据局部化处理不管页面组件还是小组件,否可能被多次复用复用组件的原因,其实就是复用组件的页... 查看详情
数据结构第六篇——顺序存储结构与链式存储结构的特点
?注:未经博主同意,不得转载。两者特点:顺序表的特点是逻辑上相邻的数据元素,物理存储位置也相邻,并且,顺序表的存储空间需要预先分配。它的优点: (1)方法简单,各种高级语言中都有数组,容易实现。 (2... 查看详情
第六篇抽屉效果+uitabbarcontroller
依赖于第三方的框架RESideMenu1.AppDelegate.m中的实现-(BOOL)application:(UIApplication*)applicationdidFinishLaunchingWithOptions:(NSDictionary*)launchOptions{//Overridepointforcustomizationafterapplicationlaunch.//在 查看详情
关于ajax第六篇
使用回调函数回调函数是一种以参数形式传递给另一个函数的函数。如果您的网站上存在多个AJAX任务,那么您应该为创建XMLHttpRequest对象编写一个标准的函数,并为每个AJAX任务调用该函数。该函数调用应该包含URL以及发生onreadys... 查看详情
第六篇avplayer地址视频播放控件
1.引用头文件#importAVFoundation2.自定义AVPlayer(播放的机器)3.自定义AVPlayerItem(胶片)>>视频的URL转成AVAsset4.AVPlayerLayer(白板) 查看详情
第六篇商城系统-实现规格参数和销售属性(代码片段)
规格参数1.基础页面 基础页面和属性组的页面非常类似,所以我们先创建了该页面,直接使用2.添加规格参数 规格数据需要绑定对应的属性组,所以我们在后台通过VO对象来接收信息在后端处理添加的逻辑就需... 查看详情