java类的设计技巧

Wesley13
• 阅读 389

    大家好,我是白泽。这几天一直有空就开始了我的博客路。

    今天我们来讲讲对象设计的技巧吧,之前自己也是一头雾水,这对象想怎么写就怎么写呗还设计个锤子啊?知道在上家公司工作,因为要求的规范比较严格,所以在类的设计上也是有点要求。之后看了本《java核心技术》,如果你是新手,那么我强烈推荐这本书而不是《java编程思想》,后者写的很好不过不适合新手看。你应该工作两三年之后再做看《java编程思想》的打算,否则你会浪费很多时间在这本书上而且收获不大。这是lz对着两本书的理解。好这是题外话,回到正题。

    大家都知道许多编程都有MVC这个概念,那这个概念主要怎么体现的呢?当然是在类的设计和功能上体现,一般为了层次分明我们会把有关数据的类封装成一个或多个对象用于对数据的操作,另外对该类的数据的一些基础操作也直接定义在这个类中。换句话说也就是如果你现在想定义一个对象,而这个对象是描述某个事物的基本属性比如一个人,那么人会有名字,年龄,性别...等属性。这时我们应该把这些属性抽取出来当做一个单独的对象定义为人的对象并将private修饰起来,其次对这个对象的属性的一些基础操作也直接写在这个类中,比如最直观的就是这些属性的setter,getter方法。而其他的操作最好都不要放在这个类里,避免层次上的混淆,而这个类就算是数据层了。每个人都有吃饭、睡觉、打豆豆的动作,这时我们把这三个动作在封装成一个对象做成一个表现类提供动作方法暴露在外使被人调用,这就算是一个表现类。再有那这个人什么时候吃饭什么时候睡觉什么时候打豆豆呢?这是我们再将这些时段抽象出来封装成一个对象当到达某段时间就做不同的事情那这就相当与一个控制层上的对象,这样设计对象就能层次分明在修改的时候也可以避免耦合性太强的问题,相互之间只提供一个或多个暴露的接口出来给他人使用至于内部怎么实现那是各自的事情这样的代码可读性强也比较容易维护。这也是体现一个码农的水平的一个重要途径。另外在命名上也要符合相应的规范而且还有该命名能见名知意。

    好了,今天的博客就写到这了,以后讲讲在工作中的经验和积累,大家有兴趣可以关注微信公众号 baize1935 获取更过文章。

点赞
收藏
评论区
推荐文章
从一个 10 年程序员的角度告诉你:搞懂 Java 面向对象有多容易?
前言:1)java面向对象语言,面向过程围绕过程(解决问题步骤),面向对象围绕实体(名词,特性(属性),行为(动作、方法))。它们设计思想区别在于关心核心不同的。主流都是面向对象的。实际开发,先按面向对象思想进行设计,具体实现时面向过程(人习惯)2)java怎么支持面向对象呢?a.万物皆对象,所有的类都是Object子类b.java中支
二面京东被问到Java 反射,我直呼好家伙,这我不是必过吗?
二面京东被问到Java反射,我直呼好家伙,这我不是必过吗?用多久我会升职加薪、当上技术总监、迎娶漂亮学姐、走上人生巅峰!想想还有点小激动。好了开始分享面试经历说说你反射的理解到底什么是反射呢???反射的核心就是JVM在运行时才动态加载类或调用方法,访问属性,它不需要事先(写代码的时候或编译期)知道运行对象是谁。每一个类都会产生一个对应的Class对象,
红橙Darren 红橙Darren
2年前
Android仿支付宝淘宝 - 自定义密码输入框和键盘
1.概述最近有人在问我要所有项目的代码,我在这里声明一下我不是这几个项目公司内部人员,之所以录视频和写博客也是喜欢与人分享和学习而已,最终所有的代码肯定会上传的,只不过会要等全部的效果以及设计模式搞完。在这里感谢内涵段子这个项目,感谢那些提供帮助的博客牛人,希望有一天也能和你们一样。    部分人看了视频的反馈某些地方没讲的很细,首先这肯定是我的
Wesley13 Wesley13
2年前
java中饿汉与懒汉的故事(单例设计模式)
java中的单例设计模式关于设计模式,这其实是单独存在的东西,它不属于java,但是在java中使用较多,所以今天我就给大家介绍下单例设计模式中的饿汉和懒汉这俩朴素的打工人。首先我先说明下单例设计模式是啥(如果不想了解,可以直接划下去看饿汉和懒汉):类的单例设计模式就是采用一定的方法保证在整个软件系统中,对某个类只能存在一
待兔 待兔
2年前
彻底弄懂类设计原则之 - 单一职责原则
类设计原则之单一职责类的设计原则之单一职责原则,是最常用的类的设计的原则之一英文:SRP,SimpleResponsibilityPrinciple中文:单一职责原则这是面向对象类设计中的第一个原则,也是看起来最简单的一个原则,但是实际上远远没有这么简单,很多人不一定真正理解了!类设计,通俗的讲就是怎么去写一个类更好,应该遵循什么样的原则
菜园前端 菜园前端
11个月前
什么是面向对象编程?
原文链接:什么是面向对象编程?面向对象程序设计(ObjectOrientedProgramming,OOP)是一种计算机编程架构,也可以理解为是一种编程的思想。面向对象程序设计的核心就是对象和类,对象也是类的实例化,类是对现实对象的抽象。对象间通过消息传递
Stella981 Stella981
2年前
Android项目如果要将自己写的类写成要单独打成jar包?
<p<h需求条件:</h1</p<p自己没做过android,公司android开发临时有事请假了,老板说让我研究研究,反正都是java。我心里“XXXXXX”。这篇用来自己做个记录,老手请略过,Android新手临时替岗而已。前提是自己的类中含有用到Android的类库</p<p<h解决方案:</h1</p这module新建的时候
Wesley13 Wesley13
2年前
JDK核心JAVA源码解析(1)
想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。首先我们从所有类的父类Object开始:1\.Object类(1)hashCode方法和equals方法
Wesley13 Wesley13
2年前
JDK核心JAVA源码解析(7)
想写这个系列很久了,对自己也是个总结与提高。原来在学JAVA时,那些JAVA入门书籍会告诉你一些规律还有法则,但是用的时候我们一般很难想起来,因为我们用的少并且不知道为什么。知其所以然方能印象深刻并学以致用。本篇文章针对JAVA中集合类LinkedList进行分析,通过代码解释Java中的Failfast设计思想,以及LinkedList底层实现和与A
Wesley13 Wesley13
2年前
Java工程中各种带有O的对象分类笔记
在Java工程里面,我们总会碰到各种不同的带有O的对象,对于一个小白来说,经常会混淆这些对象的使用场景,所以在这里mark一下,让自己的代码更加规范,但这个也是Java被诟病的地方,不同的业务需要给它写各种各样的映射类。PO:persistentobject,持久对象。与数据库里表中的字段对应。PO是一些属性,以及s