前言: WEBWeb前端开发如何处理概括关系?相信不少人都被这个问题难倒过,这期间涉及的东西确实很深。为了帮助大家更好的
WEBWeb前端开发如何处理概括关系?相信不少人都被这个问题难倒过,这期间涉及的东西确实很深。为了帮助大家更好的解决这一问题,我们一起来学习,2021WEBWeb前端开发如何处理概括关系。
一 Pull Up Field
怎么说
将两个子类拥有的相同的字段移到父类中
为何
移除了重复的字段声明,同时也可以促使我们将该字段的行为也移至父类。
二 Pull Up Method
怎么说
有些函数,在各个子类中返回相同的结果,将这些函数移至到父类中。
为何
避免不必要的重复,从而减少因重复而导致出错的可能性(修改其中一个可能会忘记修改另一个)
三 Pull Up Constructor Body(构造函数本体上移)
怎么说
在各个子类中,它们都有一些构造函数且构造函数的本体一样,那么我们就该在它们的父类中创建一个构造函数,让子类来调用
四 Pull Down Field / Method
怎么说
将父类中的某个字段和方法只被部分子类用到,那么就把这个字段或方法下移到那些需要的子类中去。
五 Extract Subclass
怎么说
类中的某些特性只有在部分的实例中用到,那么我们可以建一个子类,将这些特性下移到子类中。
怎么做
1. 为源类定义一个新的子类
2. 为这个新的子类提供一个构造函数
3. 找出所有调用源类的地方,如果这些地方只需要用到子类的特性,那么将它们改为调用子类构造函数
4. 逐一使用 Pull Down Filed/ Method 方法将源类的特性下移到子类中去
五 Extract Superclass
怎么说
两个类中有相同的特性,那么建一个父类,将相同的特性上移到父类中去。
怎么做
1. 创建一个空白的抽象类
2. 使用 Pull Up Filed 、 Pull Up Method 、 Pull Up Constructor Body 将子类共有的特性上移到父类中去
3. 每次上移进行测试
4. 如果子类中还有共通的部分,那么可以使用 Extract Method 先将共通的部分提取出来,再使用 Pull Up Method 将提取的函数上移到父类中
六 Form Template Method (塑造模板方法)
怎么说
有一些子类,它们会按照一些相同的步骤去执行,可能每个步骤的细节不一样。那么我们就可以将这些步骤上移到父类中,将不同的步骤设置为抽象,以便于不同的子类进行实现。
怎么做
1. 将各个子类中分解目标函数,要么全部相同,要么全部不同
2. 使用 Pull Up Method 将相同的函数上移到父类中
3. 对于那些不同的函数,使用 Rename Method 是这些函数的签名完全相同
4. 使用 Pull Up Method 将所有的原函数都上移到父类中,那么具有不同操作的函数设为抽象的
七 Replace Inheritance with Delegation
怎么说
某个类只是使用了父类中的部分方法,或者是根本就不需要继承父类的数据。那么我们就应该将继承关系转换为委托关系。
怎么做
1. 在子类中建立一个委托字段,这个字段引用父类的一个实例,并初始化为 this
2. 将子类中所有调用父类的地方改为调用该委托字段
3. 移除继承关系,建立一个简单的委托类赋给委托字段
4. 为每一个继承该父类的子类都建立一个委托类
八 Replace Delegation with Inheritance
怎么说
两个类之间使用委托关系,而且为整个接口编写一些简单的委托函数,那么就该使用继承来替代委托关系。
文章出自:http://qh.itpxw.cn/peixun/web/202185203.html
文章标题:WEBWeb前端开发如何处理概括关系?
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
今天小T要跟大家分享的文章是关于更适合做Web前端开发的几类...
今天小T要跟大家分享的文章是关于Web前端开发小白必备的学习...
今天小T要跟大家分享的文章是关于0基础小白学Web前端开发的学...
今天小T要跟大家分享的文章是关于Web前端开发工程师必备的排...