MrS*_*ack 6 java performance state creation layer
在代码中我最好把对象创建(有状态对象)和不在哪里?在什么层?
例如,我曾经在Hibernate DAO类中放置了一个对象引用,并且我被告知这是不正确的,因为DAO类不应该具有状态.州应该在'服务层'内.
有人告诉我,我不应该在重复的方法调用(如UpdateCart())上创建新对象.创建对象代价高昂,不应该随处可见代码.它应该只在初始化类型方法中.例如,如果电子商务应用程序需要购物车,请将其放入会话中.如果需要一些通用主对象,请将其放入初始化代码中.在那里创建它,让应用程序的其余部分稍后访问它的实例.每次调用时都不要创建此实例.
我对这整个设计原则感到困惑.我听到的最奇怪的事情是"应用程序不应该有状态.状态应保存在数据库所在的数据层中.真?我对这些设计概念很陌生,我不知道在哪里可以看到它以获得更多的教育.GoF的?设计模式书籍?目标是创建定性代码(即在业务中使用).
谢谢
良好实践的内容因项目类型而异。
对于大多数项目来说,创建对象对于 CPU 来说并不是那么昂贵。设计成本并不总是能很好地表达出来。看来您的应用程序具有一种设计方法,其中所有状态和对象都需要以受控和集中的方式进行管理。这样做通常是为了提高可维护性并简化设计。我不认为您应该只知道设计是什么,除非它已经非常清楚地向您阐明。
我怀疑团队的其他成员习惯于以特定的方式工作,并且认为他们不必记录或教您这种方法,只需告诉您何时“错误”即可。恕我直言,这不是高效的,但你必须处理你所遇到的情况,并在涉及状态或数据结构的放置时向他们询问问题。
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |