具有状态的对象

Posted weiguangyue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了具有状态的对象相关的知识,希望对你有一定的参考价值。

  传统的java web编程里面,很少有具有状态的对象需要我们自己设计,一般都是Controller,Service,Dao三层代码,而这三类对象基本上没有状态,所以,很多工作多年的Java程序员只会Java web,而基本的面相对象知识确实非常匮乏,从定义一个对象开始,就能看出来一个人的水平。

  很多工作多年的人都喜欢静态类,原因很简单,思维里面抽象不出来一个东西描述这个动作,这种方式,等等, 其实是头脑太懒惰,没有经过面相对象的思维训练。

  对象其实是封装本身状态的,而状态是会在运行期变化的,所以,提供了一些方法来控制这些状态,本身的状态却不轻易示人。

  什么东西是需要状态的呢?

    1.当一次操作无法完成,那么需要记录进度。commons里面的IOUtils启发想到,流都是具有状态的,记录读到哪里,还有多少没读等等这样的状态。

    2.因为对象在不同的状态下有不同的行为。比如apache tomcat的catalina对象。

  很多时候,具有状态的对象非常好用,对外提供一些方法,就能查询这个对象当前所处的状态,对外提供一些方法,也能够改变这个对象当前所处的状态。

  对象的属性其实也分好多种。

  1.能够改变的状态属性

  2.不能够改变的依赖对象

  3.被代理对象。

  其实,一般,对象的内部属性,内部依赖对象都很少发生变化,只有很少的情况下才需要改变。

 

以上是关于具有状态的对象的主要内容,如果未能解决你的问题,请参考以下文章

如何将具有多个对象的状态数组作为参数传递给graphql突变?

JAVA对象具有状态,行为,还有啥属性?

JAVA对象具有状态,行为,还有啥属性

面向对象

如何在PostgreSQL中将状态日志数据聚合成具有相同状态的时间间隔?

如何在 Typescript 中将具有动态键的对象设置为 React 状态