仓酷云

标题: 来看计划形式重构使用---Decorator形式 [打印本页]

作者: 冷月葬花魂    时间: 2015-1-18 11:08
标题: 来看计划形式重构使用---Decorator形式
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。
先复杂先容Decorator形式(粉饰形式)的内容和使用场景。
粉饰形式能够静态地给一个对象增加分外的职责。固然,使用子类承继也能够完成如许的功效,可是粉饰形式供应了一个更天真的体例。
由于承继会为范例引进的静态特质,使得这类扩大体例缺少天真性;
而且跟着子类的增加(扩大功效的增加),各类子类的组合(扩大功效的组合)会招致更多子类的膨胀。
上面是尺度Decorator形式的UML布局图:
来看计划形式重构使用---Decorator形式
登录/注册后可看大图

[此图来自GOF《计划形式》一书]
如今分离我实践开辟的一个例子谈谈这个形式的重构使用。
仍是谁人SEO的项目,触及群登录、群发帖、群复兴等功效。为了客户挪用复杂和代码重用,
计划的时分利用三个类来封装这些功效:SiteLogin、SitePost、SiteReply。每一个站点的登录发帖回复功效都是挪用这三个类完成的。
刚入手下手计划时,只思索一样平常HTTP协定的GET、POST哀求,由于刚入手下手预研的时分,发明几个网站都是这样处置登录发帖复兴的。
跟着厥后,网站对象的不休增添,发明有上面的两个新需求:
1.有些站点接纳Content-Type为multipart/form-data的体例提交,而不是默许的application/x-www-form-urlencoded体例。
这两种体例,在httpclient3.1中处置办法是完整分歧的(固然4.0版本已兼并到一同了)。
2.有些站点是接纳https的体例提交的(增添分外的功效)。
3.有些网站是这两种扩大需求都存在。
固然,为了对付如许的变数,处置办法有良多,能够在代码中间接利用if语句来判别,也能够经由过程子类承继的体例加强如许的功效。
利用if语句的体例,处置如许对照年夜的需求,是不文雅的。子类承继的体例,在需求组应时会呈现子类数量爆炸式增加。
经由过程利用Decorator形式的重构,能够对照好的处置这类成绩。
最初计划的UML图以下(代码就不贴出来了):
来看计划形式重构使用---Decorator形式
登录/注册后可看大图
 

手机用到的是用j2me所编出来的小程序。
作者: 金色的骷髅    时间: 2015-1-20 14:54
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
作者: 老尸    时间: 2015-1-25 09:40
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
作者: 乐观    时间: 2015-2-2 18:29
在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。
作者: 小妖女    时间: 2015-2-8 04:14
你快去找一份Java的编程工作来做吧(如果是在校学生可以去做兼职啊),在实践中提高自己,那才是最快的。不过你得祈祷在公司里碰到一个高手,而且他 还愿意不厌其烦地教你,这样好象有点难哦!还有一个办法就是读开放源码的程序了。我们知道开放源码大都出自高手,他们设计合理,考虑周到,再加上有广大的程序员参与,代码的价值自然是字字珠叽,铿锵有力(对不起,偶最近《金装四大才子》看多了)。
作者: 只想知道    时间: 2015-2-24 04:04
Java是一种计算机编程语言,拥有跨平台、面向对java
作者: 冷月葬花魂    时间: 2015-3-7 10:51
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
作者: 第二个灵魂    时间: 2015-3-15 01:00
是一种语言,用以产生「小应用程序(Applet(s))
作者: 活着的死人    时间: 2015-3-21 15:28
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2