我们目前正在学习类的使用与思想体现,主要是因为个人没有经手过大的,实际的项目。所以没有形成良好的面向对象的思想。在前几天桂老师布置的一个名片管理小程序的实现过程中,我发现周围很多同学都没有自觉的去使用面向对象的思想。虽然我们做的项目只是一个练习,而且要求使用控制台实现,即使不用面向对象的思想去构建也是能成功的。但是参考了老师给的代码之后,我们深深体会到了面向对象思想的重要性了。
       题目其实很简单,要求就是使用控制台去实现名片信息的增删改查。可以使用txt文档记录信息。老师特别强调使用类和面向对象的方法去实现。于是我就开始规划类了。首先我想名片式一组单独的信息,需要一个类。操作是一组独立行为吧,也算一个类。然后就是对本地文件的操作,我想也算是一个类吧。然后在实现的过程中,我突然发现根本没有使用卡片类。我很纳闷。最后经过检查,发现连IO操作类都没有使用。也就是说,我在一个类里面就将所有的方法实现了。换句话说根本就没有使用面向对象的思想去构建!因为即使我写在main方法里面也是能实现的!接下来的工作无法进行下去了,于是推翻重来。看了老师给我们分析的项目分析过程后我们才明白了构架的重要性。
       首先,面向对象的思想是符合人的思维的。业务逻辑是要求高内聚低耦合的。说白了就是各个模块中各自负责各自的工作,业务基本不交叉。这样好维护也好管理。就拿这次项目来说吧,首先,名片管理,最主要的对象就是名片。要对名片进行管理,在现实中起码也得有一个名片盒吧,不然怎么在一堆名片中查找?于是定义一个名片容器。包含了名片和相关索引信息。其中查找需要到名片类中去查看。包含了对卡片操作删除添加卡片等。名片类就包含了名片上的一些字段,如姓名,单位什么的,可以添加字段删除字段等。然后就去定义一个数据操作的类,主要管理数据的各项操作。然后就是定义主界面了。实现到这一步,我们突然发现:实际上,这不正是三层构架的思想吗?名片信息定义类是数据实体层;操作数据的类是业务逻辑层;main方法里面只加入界面。这实际就是表示层了!很经典的一个小例子,不但体现了类的思想,另一个方面,也叫我们看出来简单的小项目也能用三层构架的方法来实现,使结构清晰明确易于维护。在以后的业务扩展中,比如增加卡片信息,只需要对数据实体层维护,或者界面维护就只界面维护,都是很方便的。
有了这次的学习经验,教会我们以后就需要在完成项目的过程中,多多使用人的思维去用面向对象的思想。另外,三层架构也需要多加练习,为以后的项目打基础。