Pav*_*vel 7 java aop spring spring-data
我已经完成了有效的Java书籍,之后我感到困惑.在本书中,Bloch坚持要求减少可变性,使字段最终,拒绝公共构造函数并支持工厂或构建器模式,使用最终类和方法禁用继承等.
但是现在我正在开发一个基于Spring框架的项目,并且:
第一眼看来,本书的大部分内容都被AOP,模拟和Spring Data/Hibernate所侵犯.
我该怎么处理呢?这本书在实践中没用吗?
有效的Java描述了在可能的情况下最好遵循的一般最佳实践.但它考虑的是纯java,而不是任何框架功能.
框架定义了项目的体系结构,您应该遵循这些规则.该框架拥有自己的最佳实践.
不可变对象很好,因为它们本质上是线程安全的.它们的不变量由构造函数建立,如果它们的状态不能改变,这些不变量总是成立.但是没有严格的规则,每个对象都应该是不可变的,有时在给定任务的范围内是不可能的.
建筑商和工厂模式仍然很好,可以在一个范围内使用Spring project.我Factory在实际项目中使用了Spring依赖项和模式,因为它Factory仍然允许您使用@Autowire对象.
作为一个例子,我在Spring项目中使用了Spark函数.一些功能是@AutowireSpring服务.但是它们自己的功能不是Spring服务.您无法创建它们,new Function()因为Spring将无法使用autowire该服务.但是对于Factory,你可以帮助Spring这样做.
有很多好的设计原则,比如SOLID, DRY, KISS设计模式通常很有用,可以让你更好地组织代码.但有时候,在现实生活中,你很简单就不能将它们全部应用到你的特殊情况中.这里的主要规则是,您不应绝对任何最佳实践,并在实现最终目标和应用最佳实践之间找到中间立场.
| 归档时间: |
|
| 查看次数: |
485 次 |
| 最近记录: |