面向对象 对象里面封装数据和业务
对象的getset方法不能乱加 因为会出现对数据操作后理不清的情况
Collections.unmodifiableList()可以返回一个不可被修改的list 修改会抛异常
面向过程 专注于流程 第一步第二步。。。静态类是典型的对象
webMVC大部分都是贫血模型 controller service repository 处理业务 po entity只存数据
充血模型 po entity 存数据和处理业务 封装成一个领域模型ddd 符合面向对象思想 相对于贫血模型更加好扩展
抽象类专注于代码复用 接口专注于开放抽象和实现封装
编程时多用组合(接口)少用继承
因为继承经常会出现定义不清晰 维度比较多 例如鸟 会飞的鸟 不会飞的鸟。。。。。