设计: 有状态对象和无状态对象

无状态对象

  1. 用于处理逻辑, 而不是持有数据
  2. 把数据从一个有状态对象处理后传输到另一个有状态对象
  3. 属性和字段都是临时的, 不共享, 无需持久化
  4. 使用时随时创建, 随时丢弃

有状态对象

  1. 持用数据
  2. 共享
  3. 需要持久化
  4. 保持内部数据一致
  5. 版本, 身份, 值比较, HashCode
  6. 数据访问: 遍历, 查找, 排序
  7. 数据变化事件
原文地址:https://www.cnblogs.com/mrfangzheng/p/2161703.html