大家好,我是白泽。这几天一直有空就开始了我的博客路。
今天我们来讲讲对象设计的技巧吧,之前自己也是一头雾水,这对象想怎么写就怎么写呗还设计个锤子啊?知道在上家公司工作,因为要求的规范比较严格,所以在类的设计上也是有点要求。之后看了本《java核心技术》,如果你是新手,那么我强烈推荐这本书而不是《java编程思想》,后者写的很好不过不适合新手看。你应该工作两三年之后再做看《java编程思想》的打算,否则你会浪费很多时间在这本书上而且收获不大。这是lz对着两本书的理解。好这是题外话,回到正题。
大家都知道许多编程都有MVC这个概念,那这个概念主要怎么体现的呢?当然是在类的设计和功能上体现,一般为了层次分明我们会把有关数据的类封装成一个或多个对象用于对数据的操作,另外对该类的数据的一些基础操作也直接定义在这个类中。换句话说也就是如果你现在想定义一个对象,而这个对象是描述某个事物的基本属性比如一个人,那么人会有名字,年龄,性别...等属性。这时我们应该把这些属性抽取出来当做一个单独的对象定义为人的对象并将private修饰起来,其次对这个对象的属性的一些基础操作也直接写在这个类中,比如最直观的就是这些属性的setter,getter方法。而其他的操作最好都不要放在这个类里,避免层次上的混淆,而这个类就算是数据层了。每个人都有吃饭、睡觉、打豆豆的动作,这时我们把这三个动作在封装成一个对象做成一个表现类提供动作方法暴露在外使被人调用,这就算是一个表现类。再有那这个人什么时候吃饭什么时候睡觉什么时候打豆豆呢?这是我们再将这些时段抽象出来封装成一个对象当到达某段时间就做不同的事情那这就相当与一个控制层上的对象,这样设计对象就能层次分明在修改的时候也可以避免耦合性太强的问题,相互之间只提供一个或多个暴露的接口出来给他人使用至于内部怎么实现那是各自的事情这样的代码可读性强也比较容易维护。这也是体现一个码农的水平的一个重要途径。另外在命名上也要符合相应的规范而且还有该命名能见名知意。
好了,今天的博客就写到这了,以后讲讲在工作中的经验和积累,大家有兴趣可以关注微信公众号 baize1935 获取更过文章。