创建和销毁对象(2)——遇到多个构造器参数是要考虑用构建器
来源:互联网 发布:淘宝客提现时间 编辑:程序博客网 时间:2024/06/05 19:45
【2、遇到多个构造器参数是要考虑用构建器】
静态工厂和构造器有个共同的局限性:它们都不能扩展到大量的可选参数。
大多数程序员吧,应该习惯采用重叠构造器模式,这种方式提供一个只有必要参数的构造器,第二个构造器有一个参数可选,第三个有两个参数可选,以此内推,最有一个构造器包含所有可选参数。
重叠构造器模式其实是可行的,但是当我们遇到有很多参数的场景的时候,客户端代码会非常难编写,并且很难阅读,没有可读性,必须每一行每一个参数读懂才知道所有的含义。如果一不小心传值参数顺序错了一个、两个。编译也不会出错,但是运行时会有出错的行为。
当我们遇到上述问题时(许多构造器参数的时候)。有第二种方式代替办法。即JavaBeans模式。这种模式,调用一个无参的构造器来创建对象,然后调用setter方法来设置每个必要的参数。就像hibernate实体一样给予get。set方法。这种也有一个严重的缺点,因为构造过程被分到几个调用中,所以在构造过程中,javaBeans可能处于不一致的状态,这种就需要程序员确保它的线程安全。
当然,这里还提供第三种方法,可以保证上两种的优势,避免他们的缺点。这就是Builder模式的一种形式,得到一个builder对象。然后客户端在builder对象上调用类似于setter的方法,来设置每个相关的可选的参数。
如果类的构造器或者静态工厂中具有很多个参数,设计这种类的时候,Builder模式是个不错的选中。
1 0
- 创建和销毁对象(2)——遇到多个构造器参数是要考虑用构建器
- 第2条 创建和销毁对象——遇到多个构造器参数时要考虑用构建器
- Effective Java 创建和销毁对象 2.遇到多个构造器参数时要考虑用构建器
- 创建销毁对象之遇到多个构造器参数时考虑用构建器(笔记)
- 创建和销毁对象 第二条:遇到多个构造器参数时要考虑用建构器
- 创建和销毁对象(1)——考虑用静态工厂方法代替构造器
- 第2条:遇到多个构造器参数时要考虑用构建器
- Effective Java (2) - 遇到多个构造器参数时要考虑用构建器
- 第2条:遇到多个构造器参数时要考虑用构建器
- 第2条:遇到多个构造器参数时要考虑用构建器
- 第2条:遇到多个构造器参数时要考虑用构建器
- 第2条 遇到多个构造器参数时要考虑用构建器
- 第2条:遇到多个构造器参数时要考虑用构建器
- 第2条:遇到多个构造器参数时要考虑用构建器
- effective java(2) 之遇到多个构造器参数时要考虑用构建器
- 第2条:遇到多个构造器参数时要考虑用构建器
- effective java(一)遇到多个构造器参数 时要考虑用构建器
- Effective Java -- 遇到多个构造器参数时要考虑用构建器(Builder)
- [读书笔记] 深入探索C++对象模型-第五章-构造、析构、拷贝语义学(上)
- 1.10预处理器初探
- [LeetCode-Java]7. Reverse Integer
- Android常用正则工具类
- 小白分享CSS权重的规则计算
- 创建和销毁对象(2)——遇到多个构造器参数是要考虑用构建器
- Docker基础: Linux内核之Cgroups(1)
- ARM工具链中的概念——EABI
- JavaScript 贪吃蛇小游戏
- LeetCode: Search a 2D Matrix II
- Android WiFiDirect 一个jar包搞定一切
- Android数据通信——JSON&Gson(Android studio)
- PL/SQL for loop
- Sentry Robots, ACM/ICPC SWERC 2012, UVa12549 【二分图】