当前位置: 首页 > 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.yutouwan.com/news/321629/

相关文章:

  • 天津网站开发平台网站建设公司用5g
  • 佛山市住房建设局网站办事大厅网站常用图标素材
  • 广东住房与城乡建设厅网站企业门户网站建设咨询
  • 家政保洁服务网站模板网站版面特点
  • 天远软件网站建设中国上市网络公司排名
  • 可以做问卷的网站wordpress的文要登录才能看
  • 株洲网站建设费用邯郸论坛官网
  • 郑州网站建设e橙网熊掌号拓者设计吧注册码
  • 大学生做兼职的网站有哪些做网站的公司创业
  • 洛阳网站建设电话网站验证码怎么做的
  • 淄博网站排名简单做网站需要学什么
  • 电商网站建设实施方案太原网站建设开发
  • 特网站建设购物网站开发软件
  • 成都市建设厅网站wordpress rewrite
  • 自适应网站一般做几个尺寸网络推广seo培训班
  • 怎么做淘宝客手机网站重庆seo公司
  • 餐饮系统网站建设同一网站能否同时运行php和asp
  • 网站建设电商板块广告公司起名如何起
  • 怎么样用ppt做网站wordpress通知搜索引擎收录
  • 提供龙岗网站建设商务咨询公司经营范围
  • 网站建设中 显示房天下fangcom
  • 唐山地区网站开发公司开发什么网站
  • 做网站有兼职吗吴忠市建设局官方网站
  • 中国知名设计网站网站二次开发教程
  • 免费论坛申请网站房地产活动策划网站
  • 编辑网站绑定 主机名暗网做网站
  • 网站模块制作现在都用什么做网站
  • 做网站的技术要求高吗建设部监理工程师报名网站
  • 网站建设需要什么功能网站目录程序
  • 做图有什么网站网络游戏投诉找哪个部门