美文网首页
Effect Java

Effect Java

作者: RobinYeung | 来源:发表于2018-09-13 20:28 被阅读18次

创建和销毁对象

  • 静态工厂方法代替构造器
    • 优势1 有方法名
    • 不必要每次调用都创建一个对象
    • 可以返回原类型的任意子类
Ball.newBasketball()
Ball.newFootball()
  • 遇到多参数的对象可用考虑使用Builder
  • 单例
  • 内存泄漏
    • 栈等自管理内存的对象,引用对象弹出时也要自行释放相关对象
    • 缓存,使用若引用
    • 监听器和回调注入

Object的方法

  • 重写equals必须重写hashCode:相等的对象必须具有相同的散列码
  • 总是重写toString

类与接口

  • 使可变性最小化

    • 不要提供任何会修改对象状态的方法
      • 使用状态模式来解决状态修改问题
    • 保证类不会被扩展
      • 避免粗心的子类破坏类的不可变行为
    • 使用所有域都是final
      • 出于线程安全考虑
    • 使所有域都成为私有
      • 域通过
    • 确保任何可变组件的互斥访问
      • 即线程安全。可变组件,不能允许同时读写
  • 复合优于继承

    • 打破了封装性,子类依赖于超类的实现,除非这个超类是专门为了扩展而设计的,否则超类的实现细节发生了改变,子类哪怕没有任何的修改,都可能受到影响
    • 如果一个子类a继承了一个超类b,必须满足了a is b这样的条件才是合理的,如果a只是b的一个扩展,只是部分功能依赖了b的实现,那就不应该使用继承
    • 要么为继承而设计,要么禁止继承
    • 继承暴露了过多的超类实现细节。
  • 接口优于抽象类

    • 现有的类很容易被更新,来实现新的接口
    • 接口是定义混合类型的李响选择
    • 接口允许我们构造非层次结构的类型框架
  • 类层次优于标签类

    • 标签类是指用某个type来代表该对象是某种特定的对象
    • 改不如增
  • 函数对象表示策略

    • 类似于函数式编程
  • 枚举

    • EnumSet代替位域
    • EnumMap代替index索引

相关文章

  • Effect Java

    创建和销毁对象 静态工厂方法代替构造器优势1 有方法名不必要每次调用都创建一个对象可以返回原类型的任意子类 遇到多...

  • Effect Java学习

    一.构造对象优先使用静态工厂方法 优点1.有名称。BigInteger.probablePrime2.不必每次都构...

  • 2018年最新Android开发学习知识点和路径总结

    程序设计 java 基本语法(如继承、异常、引用、泛型等) Java核心技术 卷I(适合入门) 进阶:Effect...

  • 写出强而有力的代码

    导师推荐的几本书: 《Effective java》 《代码整洁之道》 《重构,改善既有代码的设计》 Effect...

  • Effect JAVA -机制与原理

    JAVA字节码.Class解析 不论该字节码文件来自何方,由哪种编译器编译,甚至是手写字节码文件,只要符合java...

  • effect java - 异常篇分享

    最近看了effect java这本书,今天分享一篇书中关于异常的章节,正好我们组内也到我分享的轮次了,准备分享这个...

  • 3. Communication and Synchronisa

    Side effect When the side effect transcend the local proc...

  • 曝光效应

    曝光效应(the exposure effect or the mere exposure effect),又谓多...

  • 背景虚化特效

    //虚化特效 let effect = UIBlurEffect(style:.light) let effect...

  • Effect

    Gyffdf

网友评论

      本文标题:Effect Java

      本文链接:https://www.haomeiwen.com/subject/zkpggftx.html