这段代码中的 createCriteriaInternal() 方法封装了创建 Criteria 对象的逻辑,而 createCriteria() 方法则在创建 Criteria 对象之前判断了 oredCriteria 集合是否为空,如果为空,则将新创建的 Criteria 对象添加到 oredCriteria 集合中。这样的设计可以保证每个 Criteria 对象都被正确地添加到 oredCriteria 集合中,避免了程序出错的可能性。
此外,将创建 Criteria 对象的逻辑封装成方法也可以提高代码的可读性和可维护性。如果将来需要修改 Criteria 对象的创建方式,只需要修改 createCriteriaInternal() 方法即可,不用修改 createCriteria() 方法和其他调用该方法的代码。
没有优点,这就是典型的为了封装而封装
一共就一句代码,如果说封装为了节约代码是说不通的
而如果是为了封装性,在外部调用的时候不想暴露内部类,也说不通,那样方法应该定义成static
每次要new一个嵌套类的类型,必须先new外部类,这设计蠢到家了
这里要看具体的逻辑 可能这个类的构造器是私有或者同包 只以某个public方法来进行暴露实例化,后续对对象集合做了一些管理
官话就是,使代码清洗易读,更加模块化,提高可读性和重用性,
实际就是,开发的时候个人习惯问题, 实际工作中 一般都是 发现写了两三段 一样的代码后 才开始重构 提取公共可重用方法, 或者写之前就明确了 某一部分代码会被多个地方使用, 否则 大部分情况下 都是直接new出来的
你好。我看到方法 createCriteriaInternal
中仅包含一句new对象的操作,如果仅此而已,是可以不需要专门封装成方法的。
如果是只要一个实例化出来的对象确实只需要new,但是往深度去想有什么需求在里面能额外解决什么问题才这样写代码的,思考一下这个原因就行
不是,在堆上申请,有可能是虚拟内存,然后在实际操作的时候,需要把数据调入 物理内存中,这个过程是系统负责的。