最新java代码复制模板

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。

java代码复制篇一

java语言是一种适用于网络编程的语言,它的基本结构与c++极为相似,但却简单得多。下面是小编分享的java语言代码复用规则,一起来看一下吧。

代码复用是绝大多数程序员所期望的,也是oo的目标之一。总结我多年的编码经验,为了使代码能够最大程度上复用,应该特别注意以下几个方面。

"对接口编程"是面向对象设计(ood)的第一个基本原则。它的含义是:使用接口和同类型的组件通讯,即,对于所有完成相同功能的组件,应该抽象出一个接口,它们都实现该接口。具体到java中,可以是接口(interface),或者是抽象类(abstract class),所有完成相同功能的组件都实现该接口,或者从该抽象类继承。我们的客户代码只应该和该接口通讯,这样,当我们需要用其它组件完成任务时,只需要替换该接口的实现,而我们代码的其它部分不需要改变!

当现有的组件不能满足要求时,我们可以创建新的组件,实现该接口,或者,直接对现有的组件进行扩展,由子类去完成扩展的功能。

"优先使用对象组合,而不是类继承"是面向对象设计的第二个原则。并不是说继承不重要,而是因为每个学习oop的人都知道oo的基本特性之一就是继承,以至于继承已经被滥用了,而对象组合技术往往被忽视了。下面分析继承和组合的优缺点:

类继承允许你根据其他类的实现来定义一个类的实现。这种通过生成子类的复用通常被称为白箱复用(white-box reuse)。术语"白箱"是相对可视性而言:在继承方式中,父类的内部细节对子类可见。

对象组合是类继承之外的另一种复用选择。新的更复杂的功能可以通过组合对象来获得。对象组合要求对象具有良好定义的接口。这种复用风格被称为黑箱复用(black-box reuse),因为被组合的对象的内部细节是不可见的。对象只以"黑箱"的形式出现。

继承和组合各有优缺点。类继承是在编译时刻静态定义的,且可直接使用,类继承可以较方便地改变父类的实现。但是类继承也有一些不足之处。首先,因为继承在编译时刻就定义了,所以无法在运行时刻改变从父类继承的实现。更糟的是,父类通常至少定义了子类的部分行为,父类的任何改变都可能影响子类的行为。如果继承下来的实现不适合解决新的问题,则父类必须重写或被其他更适合的类替换。这种依赖关系限制了灵活性并最终限制了复用性。

对象组合是通过获得对其他对象的引用而在运行时刻动态定义的。由于组合要求对象具有良好定义的接口,而且,对象只能通过接口访问,所以我们并不破坏封装性;只要类型一致,运行时刻还可以用一个对象来替代另一个对象;更进一步,因为对象的实现是基于接口写的,所以实现上存在较少的依赖关系。

优先使用对象组合有助于你保持每个类被封装,并且只集中完成单个任务。这样类和类继承层次会保持较小规模,并且不太可能增长为不可控制的庞然大物(这正是滥用继承的后果)。另一方面,基于对象组合的设计会有更多的对象(但只有较少的类),且系统的行为将依赖于对象间的关系而不是被定义在某个类中。

注意:理想情况下,我们不用为获得复用而去创建新的组件,只需要使用对象组合技术,通过组装已有的组件就能获得需要的功能。但是事实很少如此,因为可用的组件集合并不丰富。使用继承的复用使得创建新的组件要比组装已有的组件来得容易。这样,继承和对象组合常一起使用。然而,正如前面所说,千万不要滥用继承而忽视了对象组合技术。

相关的设计模式有: bridge、composite、decorator、observer、strategy等。

下面的例子演示了这个规则,它的前提是:我们对同一个数据结构,需要以任意的格式输出。

第一个例子,我们使用基于继承的框架,可以看到,它很难维护和扩展。

abstract class abstractexampledocument

{

// skip some code ...

public void output(example structure)

{

if( null != structure )

{

( structure );

}

}

protected void format(example structure);

}

第二个例子,我们使用基于对象组合技术的框架,每个对象的任务都清楚的分离开来,我们可以替换、扩展格式类,而不用考虑其它的任何事情。

class defaultexampledocument

{

// skip some code ...

public void output(example structure)

{

exampleformatter formatter =

(exampleformatter) (ter);

if( null != structure )

{

(structure);

}

}

}

这里,用到了类似于"抽象工厂"的组件创建模式,它将组件的创建过程交给manager来完成;exampleformatter是所有格式的抽象父类;

将可变的部分和不可变的部分分离

"将可变的部分和不可变的部分分离"是面向对象设计的第三个原则。如果使用继承的复用技术,我们可以在抽象基类中定义好不可变的部分,而由其子类去具体实现可变的部分,不可变的部分不需要重复定义,而且便于维护。如果使用对象组合的复用技术,我们可以定义好不可变的部分,而可变的部分可以由不同的组件实现,根据需要,在运行时动态配置。这样,我们就有更多的时间关注可变的部分。

对于对象组合技术而言,每个组件只完成相对较小的功能,相互之间耦合比较松散,复用率较高,通过组合,就能获得新的功能。

通常,我们的方法应该只有尽量少的几行,太长的方法会难以理解,而且,如果方法太长,则应该重新设计。对此,可以总结为以下原则:

三十秒原则:如果另一个程序员无法在三十秒之内了解你的函数做了什么(what),如何做(how)以及为什么要这样做(why),那就说明你的代码是难以维护的,必须得到提高;

一屏原则:如果一个函数的代码长度超过一个屏幕,那么或许这个函数太长了,应该拆分成更小的子函数;

一行代码尽量简短,并且保证一行代码只做一件事:那种看似技巧性的冗长代码只会增加代码维护的难度。

要尽量避免在代码中出现判断语句,来测试一个对象是否某个特定类的实例。通常,如果你需要这么做,那么,重新设计可能会有所帮助。我在工作中遇到这样的'一个问题:我们在使用java做xml解析时,对每个标签映射了一个java类,采用sax(简单的xml接口api:simple api for xml)模型。结果,代码中反复出现了大量的判断语句,来测试当前的标签类型。为此,我们重新设计了dtd(文档类型定义:document type definition),为每个标签增加了一个固定的属性:classname,而且重新设计了每个标签映射的java类的接口,统一了每个对象的操作:

addelement(element aelement); //增加子元素

addattribute(string attname, string attvalue); //增加属性;

则彻底消除了所有的测试当前的标签类型的判断语句。每个对象通过 e(ribute("classname")).newinstence(); 动态创建,

猜你感兴趣
最新java代码复制模板

最新java代码复制模板

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。相信许多人会觉得范文很难写?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。java代码复制篇一 java...

其他范文 2024-04-26
怎样给word文档图片加上解说词和文字模板

怎样给word文档图片加上解说词和文字模板

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。怎样给word文档图...

其他范文 2024-04-26
小升初语文的模拟试卷及答案解析 小升初语文的模拟试卷及答案人教版汇总

小升初语文的模拟试卷及答案解析 小升初语文的模拟试卷及答案人教版汇总

在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。小升初语文...

其他范文 2024-04-26
法制安全教育主持人台词(3篇)

法制安全教育主持人台词(3篇)

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。法制安全教育主持人台词篇一大家上午好!金秋送爽,...

其他范文 2024-04-26
最新大学生迎新晚会主持人稿 大学生迎新晚会主持稿(15篇)

最新大学生迎新晚会主持人稿 大学生迎新晚会主持稿(15篇)

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。大学生迎新晚会主持人稿 大学生迎新晚会主持稿篇一张...

其他范文 2024-04-26
婚礼司仪全套主持词(15篇)

婚礼司仪全套主持词(15篇)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。婚礼司仪全...

其他范文 2024-04-26
最新军训歌咏比赛主持稿开场白和结束语(三篇)

最新军训歌咏比赛主持稿开场白和结束语(三篇)

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。军训歌咏比赛主持稿开场白和结束语篇一会议进行第二项,由评委代表老师宣布...

其他范文 2024-04-26
最新奉献爱心活动主持词结尾怎么说(12篇)

最新奉献爱心活动主持词结尾怎么说(12篇)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。奉献爱心活动主持词结尾怎...

其他范文 2024-04-26
2024年元旦晚会主持串场词 晚会主持人串场词(十二篇)

2024年元旦晚会主持串场词 晚会主持人串场词(十二篇)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。元旦晚会主持串场词 晚会主...

其他范文 2024-04-26
2024年清明节祭扫革命烈士墓活动主持词 清明烈士陵园扫墓活动主持词(三篇)

2024年清明节祭扫革命烈士墓活动主持词 清明烈士陵园扫墓活动主持词(三篇)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。清明节祭扫革命...

其他范文 2024-04-26
最新六一歌唱比赛主持词开场白 七一歌咏比赛主持词(十五篇)

最新六一歌唱比赛主持词开场白 七一歌咏比赛主持词(十五篇)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。六一歌唱比...

其他范文 2024-04-26
变了一个人的说说(14篇)

变了一个人的说说(14篇)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。变了一个人的说说篇一...

其他范文 2024-04-26
最新元旦晚会节目开场白(十二篇)

最新元旦晚会节目开场白(十二篇)

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。元旦晚会节目...

其他范文 2024-04-26
最新给女朋友的生日祝福语(13篇)

最新给女朋友的生日祝福语(13篇)

人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。给女朋友的生日...

其他范文 2024-04-26
2024年幼儿园元旦活动主持词开场白台词 幼儿园元旦活动主持词开场白和结束语(14篇)

2024年幼儿园元旦活动主持词开场白台词 幼儿园元旦活动主持词开场白和结束语(14篇)

每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。幼儿园元旦活动主持词开场白台词 幼...

其他范文 2024-04-26
毕业生晚会主持词六人 毕业晚会主持词串(14篇)

毕业生晚会主持词六人 毕业晚会主持词串(14篇)

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。那么我们该如何写一篇较为完美的范文呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。毕业生晚会主持词六人 毕业晚会主持词串篇一女...

其他范文 2024-04-26
保护环境的倡议书100字(五篇)

保护环境的倡议书100字(五篇)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。那么我们该如何写一篇较为完美的范文呢?以下是小编为大家收集的优秀范文,欢迎大家分享阅读。保护环境的倡议书100字篇一水是生命之源,安...

其他范文 2024-04-26
最新我的诗和远方作文800字(51篇)

最新我的诗和远方作文800字(51篇)

范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。我的诗和远方作文800字篇...

其他范文 2024-04-26
2024年境由心生作文 相由心生作文(汇总5篇)

2024年境由心生作文 相由心生作文(汇总5篇)

无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收集的优秀范文,供大家参考借鉴,希望可以帮助到有需要的朋友。境由心生作文 相由心生作文篇一初次来校无疑是...

其他范文 2024-04-26
2024年难忘的愚人节作文400字 难忘的愚人节作文600字通用

2024年难忘的愚人节作文400字 难忘的愚人节作文600字通用

在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧难忘的愚人节作文400字 难忘的愚人节作文600字篇一我刚到作文班,老师就说:“今天...

其他范文 2024-04-26