关于面向对象的语言的好处

面对对象语言中,对象的属性可以用getset函数来获取和修改,最重要的是在set函数中做统一的校验,而不是像C那样,如果一个结构体中的某个值有限制,则必须在所有设置该值之前做保护校验。这样重复代码非常多,而且如果不校验就有可能出错!!!类的好处啊~~~

 

C数据结构之间只能有包含关系,同样一个值,需要分别进行校验。比如都是一个值,包含在这个结构中,使用前必须检测,在另一个结构中包含,使用前还等检查一遍。可以用宏来编写具体的检查,但是还是必须调用一下。面向对象的话,可以用继承来实现,这样就方便的继承了已有类中的属性,还有set校验等等。

 

事实上C也可OO,只是包装起来感觉很怪,其实看久了也就习惯了。

 

Martin Fowler在题为"Who Needs an Architect?"  的文章中提到:一个真正的架构师"……应该指导开发团队,提升他们的水平,以解决更为复杂的问题"。他接着说:"我认为架构师最重要的任务是:通过找到移除软件设计不可逆性的方式,从而去除所谓架构的概念。"增强可逆性是注重实效的软件实现方式的关键构成部分。

 

源文档 <http://book.51cto.com/art/201003/186188.htm

 

这个话非常精辟,问题是说起来容易,做起来难。我们经常会遇到,ok,这个功能可以搞,但是必须修改50%的代码才行。这个嘛~~~

 

基本上就算黄了,为什么用户想要一个功能,我们会如此痛苦。关键就是架构上的缺陷,不仅是过程语言还是OO,都避免不了核心功能上的

 

退化。就如数据库一样,如果要在某个表上加个字段,往往就会伤筋动骨。

 

 

 

PS:2010年的第一篇,就如下面链接所说,我应该开始写blog了。

http://mindhacks.cn/2009/02/15/why-you-should-start-blogging-now/

 

希望不要半途而废吧,大概每周一篇可以做到。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值