如何将对象编程思想应用到软件当中? ( 积分: 100 )

  • 主题发起人 主题发起人 nicotine
  • 开始时间 开始时间
N

nicotine

Unregistered / Unconfirmed
GUEST, unregistred user!
自己好玩编写了一个程序,起初倒也知道对象编程有很多优点,但是自己太习惯过程函数编程,所有的功能都是一个个函数和过程,但是写着写着,就觉得越来越不好写了,代码越来越乱,没有很好的组织起来,这时才想到要用对象,但是感觉自己的软件没有什么对象而言,本来这东西也就是一个系统设置工具,似乎分离不出什么对象?是我固有的思维阻碍了我?到底如何分析出软件的各个对象,如何对象编程思想去构思整个程序的代码?各位能否谈谈你的经验和技巧?不要告诉我去看软件工程什么的,谢谢!
 
可加我QQ一聊
14574256
对象的本质是概念,一个类对应现实中一个概念(Concept)
 
icc
能不能就在这儿写点心得,大家互相交流
 
delphi面向对象编程思想
delphi模式编程
这2本书不错
可以先看编程思想再看模式编程
 
就像lyplay2讲的,能不能讲讲你们是如何分析出这些类来的
 
面对对象分析,比较实用的过程是
1.项目情境描述,尽可能真实详细
2.名词分析,是名词的般就是所谓概念,就有可能成为系统中对象类
3.仔细分析通过名词得到的概念集,通过分主题,分层,分方面验证其存在合理性,不需要的对象类,就删除
4.确定对象类的属性集
5.通过模拟对象间联合动作,验证属性集的合理性,并为对象类动作集预做铺垫
6.整体设计对象类的动作集
7.为各对象类动作写实现代码
8.在使用的过程中得到验证演化和改进,谓之重构,重构之后,类库的生命力就得到增强,添加新功能也变得容易
!对象类分析关注二个层面,一是概念分离,达到高内聚,二是对变化明显的地方用类的界面封装,达到低藕合,类的界面指公有属性集和公有动作集
!对开发小型MIS系统(代码20000行以下的),如果对普通的ER图类对象化,也会带来副作用--要酌情使用
!面对对象不是用之则美的方法,使用不当,就产生不了预期效果,简言之,要包含一定的预见之明,基本命中变化点
!一家之言,请勿当真
 
生产力高,质量不一下降就是先进,C#的设计者肯定考虑到了要节省开发者的工作,属性读写自命名并不带来明显的好处
 
软件不一定要面向对象来设计
 
可以学一下设计模式,刘艺那本是不错的,看了以后启发很大
 
有一段代码就好了,不要举那么圆,方的例子,举个实际点的例子吧
 
多看看书,面向过程到面向对象不是那么好转变的,计划一年的时间转变吧,
设计模式的理解就更要功夫了,
 
一言难尽,面向对象的每的技术要素都不复杂,难的是综合运用
 
各位说了似乎没说?我再理解理解吧,或许我没有对软件进行一次整体的分析?
 
呵呵,不能为了对象而对象,楼主是否有一点?没有那一个方法适用所有的情况,比如GUI就不适合完全使用对象的方式设计。楼主可以先将一个看上去完全可以独立的部分试着使用对象的方式思考、设计并实现。面向对象应该是简单理解并组织事物的一种方法,如果他比面向过程方法还难我想就是人为造成的,不要被这个概念吓住了,作了就不难,不作不尝试才难,是不是?!
 
我们都知道微笑能改善我们的人际关系,能调整我们的身心健康,微笑有这么多的好处,可现实中,又有几个人能将微笑始终如一的贯穿在他的所有生活中呢?我以为,面向对象也好,面向过程也罢,无非是一种生活方式,以黑客帝国的角度来解释我们的生活,无处不是程序,甚至我们自己也是程序的一部份而已。选择哪种生活方式,说到底无非是你是否有这样的信念并愿意坚持下去而已。在你的生活里,你就是尼奥,你就是救世主,加油吧。
 
楼上的高见果然精妙!
佩服佩服!
 
呵,我做delphi编程,从来没自己设计一个类和对象的,都是照搬已有的,也就是控件,想想当初自己写asp.net应用开发时,写了好多类,现在感叹自己是不是后退了.
 
我以前看过很多面向对象的书籍,自己在写程序前先用UML画图,可以说基本上把软件的所有要考虑的问题都考虑进去了,所有使用的类、接口都设计进去了,然后再开始编写代码,写代码时会会出现一些没有预想到的问题,所以再修改UML图。
这个方法的好处是,软件写完后,无论过多长时间,再结合UML图看代码,仍然能理清头绪,便于修改。
 
后退
顶部