当前位置: 首页 > news >正文

wordpress构建自己的网站唐山万唯网络科技有限公司

wordpress构建自己的网站,唐山万唯网络科技有限公司,老君山旅游网页设计模板,做网站是怎么赚钱吗在我们所有的项目中#xff0c;我们使用的数据类根据定义包含数据#xff08;字段#xff09;#xff0c;但不包含#xff08;业务#xff09;逻辑。 根据最佳编码实践#xff0c;数据类最好应该是不可变的#xff0c;因为不可变性意味着线程安全。 这里的主要参考是J… 在我们所有的项目中我们使用的数据类根据定义包含数据字段但不包含业务逻辑。 根据最佳编码实践数据类最好应该是不可变的因为不可变性意味着线程安全。 这里的主要参考是Joshua Bloch的Effective Java书籍 Yegor Bugayenko的帖子也很有趣。 不可变类具有几个有趣的属性 它不能是子类的即它应该是最终的或者应该具有静态工厂方法和私有构造函数 所有字段均应为私有字段以防止直接访问 所有字段应写入一次在实例创建时即它们应该是最终值且没有设置方法 所有可变类型例如java.util.Date字段都应受到保护以防止客户端通过引用进行写访问 不变类的示例如下 public final class ImmutableBean {private final String aStr;private final int anInt;public ImmutableBean(String aStr, int anInt) {this.aStr aStr;this.anInt anInt;}public String getAStr() {return aStr;}public int getAnInt() {return anInt;}} 注意在Java中很常见有很多样板代码隐藏了不变性定义。 像Project Lombok这样的库使我们的生活更轻松因为我们可以使用Value批注轻松地定义一个不可变的类如下所示 Valuepublic class LombokImmutableBean {String aStr;int anInt;} 更具可读性。 我们单元应该测试一个类以检查其不变性吗 在理想世界中答案是否定的。 借助我们首选的IDE自动代码生成功能或Lombok之类的库为类添加不变性并不难。 但是在现实世界中当我们创建类或稍后或可能是团队的初级成员修改类时可能会发生人为错误。 如果不使用final来添加新字段并且使用IDE代码生成器生成了setter会怎样 该类不再是不变的。 重要的是要确保该类在整个项目生命周期中都是并且保持不变。 借助Mutability Detector我们可以轻松创建一个测试来检查类的不变性状态。 像往常一样可以在Maven Central上找到Maven / Gradle依赖项。 为了测试我们的ImmutableBean我们可以创建以下jUnit测试类 import static org.mutabilitydetector.unittesting.MutabilityAssert.assertImmutable;public class ImmutableBeanTest {Testpublic void testClassIsImmutable() {assertImmutable(ImmutableBean.class);}} 如果类不是不可变的则测试将失败。 例如如果一个字段不是final且具有setter方法则测试将失败并且错误消息的描述性非常强 org.mutabilitydetector.unittesting.MutabilityAssertionError: Expected: it.gualtierotesta.testsolutions.general.beans.ImmutableBean to be IMMUTABLEbut: it.gualtierotesta.testsolutions.general.beans.ImmutableBean is actually NOT_IMMUTABLE Reasons:Field is not final, if shared across threads the Java Memory Model will not guarantee it is initialised before it is read. [Field: aStr, Class: it.gualtierotesta.testsolutions.general.beans.ImmutableBean]Field [aStr] can be reassigned within method [setaStr] [Field: aStr, Class: it.gualtierotesta.testsolutions.general.beans.ImmutableBean] 完整的项目可以在我在GitHub上的Test Solutions画廊项目中找到。 参见模块常规 。 我建议的方法是使用Lombok而不进行任何不变性测试。 如果不能使用Lombok例如在旧项目中请使用“可变性检测器”声明该类确实是不可变的。 翻译自: https://www.javacodegeeks.com/2017/01/unit-testing-java-data-classes-immutability-mutability-detector.html
http://www.sadfv.cn/news/321629/

相关文章:

  • 网站开发下载功能如何实现做的好的学校网站
  • 营销型网站建站步骤是什么意思如何开wordpress网站
  • 网站建设 数据库连接服务号 wordpress
  • 如何建立自己的网站?wordpress自定义弹窗
  • 邢台企业网站制作公司网站建设微信商城多少钱
  • 网站降权原因网站推广怎么做 知乎
  • 网站后台和前台软件著作权
  • 小说网站系统怎么做12数据网站建设
  • 河南省国基建设集团有限公司网站googleseo是什么
  • 电影网站logo设计iis如何做网站管理器
  • 备案核验单网站负责人长沙网站备案
  • 成都免费建网站公司365建筑人才网
  • 电子商城网站源码建筑网络工程教程
  • 成都网站快照优化公司云信智联商丘网站建设
  • 网站建设与管理实训课程如何开发一个手机网站
  • 厦网站建设培训wordpress+HTML5游戏
  • dedecms中餐网站模板网站做404
  • 中国住房和城乡建设部网站首页金华网站建设方案报价
  • 国家网站备案wordpress英文文章格式
  • 用meteor框架做的微博网站服饰 公司 网站建设
  • 阜新门户网站建设联合加工网
  • 基于响应式设计的网站建设最近网站改版文章突然不收录
  • php网站开发是学什么的禅城网站建设代理
  • 做网站什么主题好做申请商标官网
  • 用数据库做学校网站织梦网站优化
  • 网站在线做照片梅州网站建
  • 网站怎么盈利网站外包如何报价
  • 苏州网站制作计划域名注册平台
  • 包装网站开发青岛李村网站设计公司
  • 开封网站建设优化衡水哪儿做网站便宜