欢迎来到天天文库
浏览记录
ID:39270382
大小:679.00 KB
页数:20页
时间:2019-06-29
《19、20、22章》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、19、20、22章对象的可见性可见性是对象引用其它对象的能力可见性与范围,或者成为作用域问题有关:某一资源是否在另一个资源的范围之内。四种可见性属性可见性:B是A的属性。参数可见性:B是A中方法的参数。局部可见性:B是A中方法的局部对象。全局可见性:B具有某种方式的全局可见性。属性可见性当B作为A的属性时,则存在A到B的属性可见性。参数可见性当B作为参数传递给A的方法时,则存在A到B的参数可见性。局部可见性当B声明为A中方法的局部对象时,则存在A到B的局部可见性。全局可见性当B对于A是全局时,存在A到B的全局可见性在某些语言,如C++中,实现全局可见性的一种方
2、式是将实力分配给全局变量,这种方式在更纯的面向对象语言,如Java中不可行。实现全局可见性的首选方法是使用单实例模式。其它类型的可见性(作用域)在多线程的应用中,需要有线程作用域。对于Web应用,有Application/Session/Request/Page等作用域。变量作用域的管理尽可能缩小变量的作用域,缩短变量的存活时间,变量存在的时间恰好等于系统需要该变量的时间能够使得你对自己的代码有更加准确的认识缩小作用域的方法定义变量时,从最严格的可见性开始,然后根据需要扩展变量的作用域把相关的语句提取成单独的子程序变量作用域的管理方便性和智力上的可管理性全局变
3、量使用时比较方便,无需考虑有关参数和作用域的有关规则变量局部化的优点是能够提高智力上的可管理性:能够隐藏的信息越多,在同一时间所需要考虑的信息就越少。将设计映射为代码从UML图到代码之间存在转换过程类和接口的定义从DCD创建类和接口的定义方法的定义从交互图创建方法根据类图中创建类的定义根据交互图中创建方法publicvoidenterItem(ItemIDitemID,intqty);代码中的集合类一对多的关系非常常见,这些关系通常使用集合(Collection)对象(例如List或Map)或者是简单的数组来实现。定义Sale.makeLineItem方法根据
4、enterItem的协作图,还可以写出Sale类的makeLineItem方法。实现的顺序类的实现通常按照从耦合度低到耦合度高的顺序来完成。重构重构:重写或重新构建已有代码的结构化和规律性的代码目标:去除冗余的代码改善清晰度……重构样例:提炼方法:将长方法转换为短方法引入解释变量:将表达式的部分或完整结果置入临时变量,该变量的名字应该能够说明其目的。重构的例子publicbooleanisLeepYear1(intyear){return(year%400)==0
5、
6、((year%4==0)&&(year%100!=0));}publicbooleanisLe
7、epYear2(intyear){booleanisForthYear=(year%4==0);booleanisHundrethYear=(year%100==0);booleanis4HundrethYear=((year%400)==0);returnis4HundrethYear
8、
9、(isForthYear&&!isHundrethYear);}UML工具与UML蓝图UML作为草图UML作为蓝图UML作为编程语言前向、逆向和双向工程前向工程从设计模型生成代码逆向工程从代码生成设计模型双向工程以上两种工程的闭环UML图:工具还是手绘大多数UML工具对使用
10、UML造成的阻碍比其带来的帮助要多。如果希望使用工具:最好使用与IDE结合的UML工具能够支持双向工程,特别是从代码生成序列图。如果手绘:首先绘制草图,实现代码在开发至一定的阶段时,使用工具逆向生成最新的类图,打印并挂在开发场地的显眼处。
此文档下载收益归作者所有