java – 你在哪些场景中使用封装?

前端之家收集整理的这篇文章主要介绍了java – 你在哪些场景中使用封装?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想知道在什么情况下你使用封装.这个问题的目的是协作.因此,当主题被封装时,请随意分享您自己的经验.

一些场景:

计算财产

public class Order {

    private List

自我验证域对象

public class Person {

    private String name;

    public void setName(String name) {
        if(StringUtils.isBlank(name)) {
            throw new NotEmptyException("name",name);
        }

        this.name = name;
    }

}

对某些特殊行为使用其他类

public class Person {

    private MutableInt id = new MutableInt();

    /**
      * Integer itself is immutable
      */
    public Integer getId() {
        retur id.intValue();
    }

}

转变

public class Person {

     public String enabled;

     public boolean isEnabled() {
         return "Y".equals(enabled);
     }

}
最佳答案
简单地说,我更喜欢在我设计/实现的所有非私有API中使用强封装.

习惯上不使用强封装的唯一情况是私有嵌套类(并且需要)比ersatz结构声明稍微多一点.我的理由是私有类通过嵌套和私有来充分封装.

如果有令人信服的性能原因,我也准备放松封装(一点点).当复制它们的成本过高时,这种放松通常包括泄漏内部数组/集合.它总是让我感到不舒服这样做……

猜你在找的Java相关文章