我最近听到有人说data transfer objects(DTO)是一种反模式。 为什么?有哪些选择? 解决方案如下: 某些项目的所有数据两次。一次作为域对象,一次作为数据传输对象。 这种副本的成本为,因此,该架构需要从这种分离中获得巨大 yield ,才能值得。

2020年11月4日 0条评论 78点热度 阅读全文

我正在阅读Wikipedia上的Singleton文章,并且遇到了以下示例: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {} /** * SingletonHolder is loaded on the first execution of Singleton.getInstance() * or the first access to S…

2020年1月2日 0条评论 57点热度 阅读全文

例如。 public abstract class Foo { public Bar f1() { return new Bar(); } } 和 public class Bar extends Foo { } 从设计的角度来看,您是否同意这种设计是反模式的? 解决方案如下: 是。 不好的原因是因为它破坏了封装。如果有人更改了Foo,他们就会意识到他们可能会更改所有子类。如果某人更改了Bar,则他们永远不必考虑更改其超类。不管Bar的内容如何,​​其超类都应相同。

2019年7月30日 0条评论 34点热度 阅读全文