在中实现计划

机床配附件及维修2021年09月06日

播放全服广播。让全服的降魔者们都羡慕你!  相信766z画皮Ⅱweb版蜕变后的灵宠将更加大放异彩!  766z画皮Ⅱweb版以魔幻为题材 一、 引言

有两个主要原因使得Visual Basic极为流行:VB6程序员和OOP程序员。VB6程序员想要VB确实易用;OOP程序员认为VB需要成为一种象C#或C++一样强有力的语言,否则VB只是一个玩具。VB不可能是一种业余爱好者的语言,并且也不可能同时又是一种完全意义上的面向对象的语言,并且微软不可能去统计应该满足哪些用户。因此现在,VB在尽力满足以上二者。例如,包含了多线程和操作符重载技术,但是IDE并不支持支持VB重构。加入可定制的特性吸引了VB6程序员,而添加操作符重载吸引了OOP程序员。然而,微软承认,排除对VB的IDE重构支持是一个忽略。所以,稍后,他们又开发了Refactor!以用于,并支持自由下载。

什么是重构呢?根据Martin Fowler的解释,重构是一种改进代码的内部结构而不改变其外部行为的建构方式。(Martin Fowler公开呼吁重视重构的使用;William Opdike被认为是重构的发明人。)

我站在什么立场呢?玩具语言是由玩具制造者使用的。玩具制造者有其自己的市场(特别是在圣诞节期间),但是我有现实的业务逻辑需要解决并且能够用商业级的工具来创建玩具但是不能用玩具创建商业级的工具。

你不必同意我的观点,但是你应该了解重构,因为甚至是经拙劣修改后的应用程序都有可能变得非常复杂;重构是一种恢复现有代码而不需要改变其行为的按照既定规则操作的方式。更改结构和维持行为都是重构的关键原则。

二、 重构的原因

重构能够指引你穿越\"并不复杂的\"代码而且不拆断或改变代码。每个重构都有一个明确的动机-用一系列步骤显示怎样完成该重构及其所希望的结果。一些重构基于现有技术,而另外一些重构基于新的技术,但是所有的重构都被命名并被清晰地建档。

一个常见的重构示例是封装字段。封装字段意味着取得公共变量,使之成为私有变量,然后通过函数提供对它们的存取。这种重构被良好建设,以至它成为一种时髦属性。也就是说,一些程序员仍然使用公共字段,尽管一般人总是会避开这种编程实践。(我的文章《用VS 2005创建宏代码生成器》向你展示了怎样用VB宏实现字段的封装。)

Visual 2005支持C#重构,但是在 2005中并不支持。然而,由于一个整洁的工具Refactor的出现,现在的VB开发者不必再编写他们自己的重构工具了!对于Visual Basic来说,你可以从微软站点自由下载这个工具。尽管你可以手工地实现任何重构,现成的工具使之更为容易简单且更快,而且它们的使用也很有趣。

本文的余下部分将展示使用Refactor实现三种重构!在Visual 2005版本1.0.31中,共有三种情况:封装字段(Encapsulate Field),提取方法(Extract Method),和创建重载(Create Overload)。

三、 重构:封装字段

封装字段的观点在于相信-公共数据是糟糕的。为了完成封装字段,把一个公共字段改变为一个私有字段并添加存取器方法来读写现在成为私有字段的值。在中的getter和setter实际上仅仅是方法的一些方便的符号-允许你在调用方法时,从外部象对待一个字段一样操作属性。这些方法意味着你可以对该字段进行包装检查。

假定你有一个名字为HeartRate的公共字段-它每隔一分钟调节一位病人的心跳。坏的编码可能把HeartRate设置到500并且,象Emeril所说的,\"欺骗!\"病人是死了。为了防止把HeartRate设置得太高,你可以用属性方法来保护它。你可以用鼠标右击字段HeartRate,选择\"Refactor!\",然后选择\"Encapsulate Field\"。你将在图1中看到在你的IDE中的操作类似于此。然后,你将使用向下的箭头移动目标选择器(红箭头和线)到插入点并按回车键。修改后的代码看上去如列表1所示。

图1:Refactor!使用了很好的提示信息引导你使用该工具

列表1:HeartRate字段被Refactor!所封装

Imports rviceProcess

Public Class WillRefactor

Private HeartRate As Integer

Public Property HeartRate1() As Integer

Get

Return HeartRate

End Get

Set(ByVal value As Integer)

HeartRate = value

End Set

End Property

End Class

在列表1修改过的代码中,如果不使用公共属性HeartRate1,那么是无法改变HeartRate的。为了确保不把HeartRate设置得太高,你可以在Set方法中加入一些额外的代码。

南洋克痢痧胶囊做什么的
昆明治疗白癜风的医院
唐山治疗白癜风专科医院
相关阅读
芝麻香油、小磨香油有啥区别?听据传油工怎么说,牢记1点优质好吃

各位读物朋友们大家好,感谢读物我互动的美食撰文,经验和大家独自共享,...

2023-09-16
【大战“疫”日记】医患携手大战疫情 职业生涯放光芒

中国传统文化性自古至今都是一个齐心的民族性,众志成城关键时刻取胜一切...

2023-09-06
《雪中悍刀行》够烈焰了,张若昀又带来一部悬疑剧,女主大他四岁

一位童星的成功,是有系统的操作过程,有些童星从那以后小有名气,是极少...

2023-09-04
“限韩令”解禁?芒果台电视韩剧《师任堂》,网友坐不住了

众所周知,2016年“应于韩令”出来后,欧洲各国电视剧、综艺等几乎都看得...

2023-09-03
全球首富马斯克称自己居无定所 轮流借宿在家客房

里面新网4月19日电 据美国《玫瑰园报》报道,雷诺首席执行长雷诺据悉表示...

2023-09-02
强强联手!金牛区携手四川发展六大赛道共铸光辉

强强四人!大兴区通力合作陕西其发展六大赛道共铸辉煌 5翌年20日,大兴区...

2023-09-01
友情链接
3