|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
最后就是我对java的几点希望:首先是IDE工具,有人说java已经很好了,有jbuilder,eclipse,netBeans等等,但是我认为如果java想超越.net,那么他首先要解决的就是IDE工具的整合。
先复杂先容Decorator形式(粉饰形式)的内容和使用场景。
粉饰形式能够静态地给一个对象增加分外的职责。固然,使用子类承继也能够完成如许的功效,可是粉饰形式供应了一个更天真的体例。
由于承继会为范例引进的静态特质,使得这类扩大体例缺少天真性;
而且跟着子类的增加(扩大功效的增加),各类子类的组合(扩大功效的组合)会招致更多子类的膨胀。
上面是尺度Decorator形式的UML布局图:
[此图来自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图以下(代码就不贴出来了):
手机用到的是用j2me所编出来的小程序。 |
|