了解下JAVA的从Java类库看计划形式(4)
通过视频学习比传统的大课堂学习更适合成人化的学习规律。有人说大课堂气氛好,学习氛围浓,热闹,可以认识很多人。在上一部分中,先容了两个布局型的形式:Bridge和Decorator。这一部分的内容,将会接着下面的解说,持续我们的计划形式之旅。
这一部分,除还会先容一个布局型的Composite形式以外,还会有两个举动形式退场。实践上在后面的内容中,我们已打仗到举动形式了:Observer和Command就是两个典范的行为形式。举动形式更多的注意于算法和对象建间职责的分派,也就是说,它会更多的存眷于这个形式体系之类的各对象合作间的语义,和在对象间举行通信的流把持。
Composite形式
毫无疑问的,AWT中的Component-Container系统就是一个很好的Composite形式的例子。Container承继于Component,而Container中有能够包括有多个Component,由于Container实际上也是Component,因此Container也能够包括Container。如许经由过程Component-Container布局的对象组合,构成一个树状的条理布局。这也就是Composite形式所要做的。
Composite形式是为了简化编程而提出的,一样平常的在编程的时分,假如严厉的辨别Component和Container的话,偶然候会带来很多方便,并且这些常常是没有需要的。好比,我要在一个Container中安排一个Component,我其实不必要晓得这个Component究竟是一个Container,大概就是一个一样平常的Component,在父级容器中所要做的,只是纪录一个Component的援用,在必要的时分挪用Component的绘制办法来显现这个Component。当这个Component的确是一个Container的时分,它能够经由过程Container重载后的绘制办法,完成对这个容器的显现,并把绘制动静传送给到它的子对象往。也就是说,对一个父级容器而言,它其实不不体贴,其子对象究竟是一个Component,仍是一个Container。它必要将Component和Container一致看待。
图十一:Composite形式的类图
Composite形式对照复杂,完成起来也不庞大,可是有必定的范围性。好比,在处置树的时分,我们常常必要处置三类对象:子树,页节点和非页节点。而在Composite形式中关于子树和非叶节点的辨别其实不分明,而是把他们分解为一个Composite对象了。并且在GOF给出的Composite的形式中,关于增加,删除子节点等属于Composite对象的的办法,是放在了Component对象中的,这固然在完成的时分能够辨别开来,但简单形成一些观点上的曲解。
由上所叙,我们能够提出一个改善了的Composite形式,引进子树对象,从而将子树和非叶节点分隔,以下图所示:
图十二:Composite形式的一种变体
<p>
为什么外国人还要写那些框架进行代码封装,他们不就是为了别人使用时可以更简单么!如果要达到一个企业级项目的不用框架是很难的。小一些的项目还行,大的光是MVC模式的设计的编码量就够大的了。还有性能方面,单轮windows,这个工具是微软写的,。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。 科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。 《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。 所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。 吧,现在很流行的Structs就是它的一种实现方式,不过Structs用起来实在是很繁,我们只要学习其精髓即可,我们完全可以设计自己的MVC结构。然后你再研究一下软件Refactoring (重构)和极限XP编程,相信你又会上一个台阶。 做完这些,你不如整理一下你的Java代码,把那些经典的程序和常见的应用整理出来,再精心打造一番,提高其重用性和可扩展性。你再找几个志同道合的朋友成立一个工作室吧 我大二,Java也只学了一年,觉得还是看thinking in java好,有能力的话看英文原版(中文版翻的不怎么好),还能提高英文文档阅读能力。 Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。 J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。
页:
[1]