我们经常会有很多实体类型的项目(Hibernate / JPA,...)。实体类型具有基本类型,如int,long或ID的字符串。我们有DAO和服务来获取和返回这些原语。
long doSomething(long blubId, long blabId, long fooId, long barId, ...)
正如您所看到的,它可能非常令人困惑。我想利用静态类型检查并为其提供类型。
long doSomething(BlubId blubId, BlabId blabId, FooId fooId, BarId barId, ...)
但这似乎效率低下。您有任何想法如何解决这个问题?
注意,在JEE上下文中有时需要使用原语进行处理(JSF支持的bean,持久性,...)
答案 0 :(得分:0)
这似乎是构建器模式的主要候选者,你有一个带有DoSomethingOptions
的{{1}}类,它通过命名方法显式创建选项,以避免混淆参数顺序。
说实话,我没有看到你的初始方法非常低效,但这实际上取决于你调用DoSomethingOptionsBuilder
方法的频率以及方法的实际逻辑需要多长时间。显然,使用原始包装器会占用更多空间和一段时间,但与任何实际计算相比,它几乎无关紧要。
答案 1 :(得分:-1)
据我所知,您可能对编写已经编写的Java包装类Java Primitive Wrapper class
感兴趣