Java编程原则

     《Java与模式》这本书对于我的影响很大,我总结了书中的几条编程原则,总结得不全面,请大家补充。
1“开-闭”原则:一个软件实体应该对扩展开放,对修改关闭,这个原则说的是,在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换言之,应当可以在不被修改源代码的情况下改变这个模块的行为。
2对可变性的封装原则:找到一个系统的可变因素,将它封装起来。
3将一个进行多次条件转移的商业逻辑封装到不同的具体子类中,从而使用多态性来代替条件转移语句。
4由于抽象类不可以实例化,因此一个设计师设计一个新的抽象类,一定是用来继承的,而这一声明倒过来也是对的:具体子类不是用来继承的。
5在一个从抽象类到多个具体类的继承关系中,共用的代码应当尽量移动到抽象类里。
6与代码的移动方向相反,数据的移动方向是从抽象类到具体类。
7一般而言,如果两个具体类A和B有继承关系,那么一个最简单的修改方法应当是建立一个抽象类C,然后让类A和类B成为抽象类C的子类。
8要针对接口编程,不要针对实现编程,要保证做到这一点,一个具体Java类应当只实现Java接口和抽象Java类中而不应当给出多余的方法。
9只要一个被引用的对象存在抽象类型,就应当在任何引用此对象的地方使用抽象类型,包括参量的类型声明、方法返回类型的声明、属性变量的类型声明等。
10优先考虑将一个类设置为不变类,即使一个类必须是可变类,在给它的属性设置赋值方法的时候,也要保持吝啬的态度。
11尽量降低成员的访问权限。
12如果一个类可以设置成package-private的,那么就不应当将它设置为public。
13在需要一个变量的时候才声明它,可以有效地限制局部变量的有效范围。
14一般而言,for循环比while循环稍好一点。
15要针对抽象编程,不要针对具体编程。



posted on 2007-05-17 17:37 我为J狂 阅读(1785) 评论(12)  编辑  收藏 所属分类: 设计模式

评论

# re: Java编程原则 2007-05-17 21:20 刘甘泉

srp,ocp,lsp,isp,dip都是ood的原则  回复  更多评论   

# re: Java编程原则 2007-05-18 14:22 dreamstone

Java与模式是本好书啊,讲解方式易于理解,而且够详细.
但问题也在这,这么大一本看着就有点怕,我是历时1年,差不多分三次才看完这本书.每次看一部分后就有点不想看了.等一下继续,不过发现这种方式来看反而比集中一下看完收获更多些.  回复  更多评论   

# re: Java编程原则 2007-05-18 15:06 zjftlx@21cn.com

只可惜在J2me中应用的时候,很多都受限制  回复  更多评论   

# re: Java编程原则 2007-05-18 15:27 我为J狂

@dreamstone
同意您的看法,我也是断断续续的阅读了这本书,每次读完都很受启发。  回复  更多评论   

# re: Java编程原则 2007-05-18 15:29 我为J狂

@zjftlx@21cn.com
不太了解J2ME,不过我想编程模式应该差不多吧!  回复  更多评论   

# re: Java编程原则 2007-05-18 16:10 dreamstone

@zjftlx@21cn.com
是啊,java中的模式是为了扩展性,是为了好维护,必然造成一定的资源占用,而j2me的程序最敏感的就是资源了。是会有很多限制。  回复  更多评论   

# re: Java编程原则 2007-05-19 10:28 L2

不错!有时间也去看看这本书!  回复  更多评论   

# re: Java编程原则 2007-06-09 21:58 itkui

现在就去当当网上买本!  回复  更多评论   

# re: Java编程原则 2007-06-10 08:36 我为J狂

@itkui
http://www.blogjava.net/lzqdiy/archive/2007/05/02/115000.html下载电子版,可以省不少银子。  回复  更多评论   

# re: Java编程原则 2007-06-10 13:47 itkui

哈哈,买了呀,不喜欢电子书。
平时省点花就是了。  回复  更多评论   

# re: Java编程原则 2007-06-10 15:45 我为J狂

@itkui
电子书省钱,但是费眼睛。  回复  更多评论   

# re: Java编程原则 2007-06-13 23:18 itkui

书已经到了呀,很不错的。。
开篇说的就是道家思想,我本人就爱看道德经!
比较不错!!!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问  
 
<2007年5月>
293012345
6789101112
13141516171819
20212223242526
272829303112
3456789

导航

统计

常用链接

留言簿(11)

随笔分类(48)

文章分类(29)

常去逛逛

搜索

积分与排名

最新评论

阅读排行榜

评论排行榜