当前位置: 首页 > news >正文

溧阳企业网站建设中国制造网官网入口

溧阳企业网站建设,中国制造网官网入口,网站群建设原则,网络规划设计师教程第三版云盘下载我认为Spring应用程序不应该以逐层方法构建。 在我看来#xff0c;按功能打包更有意义。 首先#xff0c;让我简要描述每种方法。 “按层打包”#xff08;在非Java世界中为“按类型折叠”#xff09; 该项目结构根据源代码文件所属的体系结构层将它们分为包/目录#x… 我认为Spring应用程序不应该以逐层方法构建。 在我看来按功能打包更有意义。 首先让我简要描述每种方法。 “按层打包”在非Java世界中为“按类型折叠” 该项目结构根据源代码文件所属的体系结构层将它们分为包/目录 . └── net└── lkrnac└── blog├── Application.java├── persistence│   ├── ProjectRepository.java│   └── UserRepository.java├── dto│   ├── ProjectDto.java│   └── UserDto.java├── model│   ├── Project.java│   └── User.java├── service│   ├── ProjectService.java│   └── UserService.java└── web├── ProjectController.java└── UserController.java“按功能打包”非Java世界中的“按功能折叠” 另一方面此方法将属于系统内某些功能的文件组合在一起 . └── net└── lkrnac└── blog├── Application.java├── project│   ├── ProjectController.java│   ├── ProjectDto.java│   ├── Project.java│   ├── ProjectRepository.java│   └── ProjectService.java└── user├── UserController.java├── UserDto.java├── User.java├── UserRepository.java└── UserService.java发展趋势 这个话题使我很久了。 当我用谷歌搜索“按层打包”还是“按功能打包”还是“按类型打包”还是“按功能打包”时“按功能”结构的支持者似乎越来越多。 我也在这个营地。 但是不仅应用程序开发人员是它的支持者。 Angular最著名的单页应用程序框架之一正在其样式指南中推广此类文件夹结构。 Spring项目结构 由于有很多关于每种方法的利弊的文章我将重点介绍对Spring项目的影响。 放下Spring CRUD应用程序的传统结构如果您的后端应用程序未使用Spring Data REST分为三层Web /服务/持久性。 我从事的大多数Java / Spring项目都遵循这种结构。 耦合 逐层封装很可能起源于上个世纪在那里分层结构被用作去耦机制。 实际上当我挑战逐层结构时“去耦”通常是答案。 我不同意。 对我来说逐层封装是导致紧密耦合的主要原因之一。 在逐层结构化项目中为类编写签名时第一个关键字是什么 我敢打赌这是公开的。 公共访问修饰符是否有助于解耦 我想没有人会回答 是这个问题。 为什么开发人员到处使用公共访问修饰符 正是因为该项目是以分层方式构造的。 存储库类需要是公共的因为它需要从服务包中进行访问而服务也必须是公共的因为它需要从Web包中进行访问。 当一切都公开时很难保持纪律不会导致大的泥潭。 使用按功能打包时私有UserRepository程序包这意味着未指定访问修饰符不能由UserService以外的其他服务使用因为它们在同一程序包中。 而且如果我们决定仅UserController应该使用UserService则将其打包为私有因为它们共享同一包。 在这样的项目结构中大多数类都是包私有的。 因此开发人员应该有充分的理由公开课程。 缩放比例 如果项目在Web /服务/持久层中开始具有10多个类会发生什么情况 开发人员倾向于将类分组为子包。 但是他们如何对它们进行分类 根据我的经验它主要基于功能。 因此我们经常可以在较大的项目中找到这样的结构 . └── net└── lkrnac└── blog├── Application.java├── dao│   ├── ...other repositories...│   ├── ProjectRepository.java│   └── user│   ├── UserRepository.java│   └── UserRoleRepository.java├── dto│   ├── ...other DTOs...│   ├── ProjectDto.java│   └── user│   ├── UserDto.java│   └── UserRoleDto.java├── model│   ├── ...other models...│   ├── Project.java│   └── user│   ├── User.java│   └── UserRole.java├── service│   ├── ...other services...│   ├── ProjectService.java│   └── user│   ├── UserRoleService.java│   └── UserService.java└── web├── ...other controllers...├── ProjectController.java└── user├── UserController.java└── UserRoleController.java 这不是明显的疯狂吗 未来的证明 正如一群聪明人所建议的那样 从微服务架构开始绿色领域项目可能不是一个好主意 。 我同意。 因此如果您的应用程序Swift增长则准备好整体以最终分成较小的项目可能是个好主意。 想象一下您将需要从整体项目中提取微服务。 或将整个项目拆分为微服务。 我希望每个人都明白没有理智的微服务架构被架构层分开。 使用基于特征的分离。 那么哪种项目结构将更容易划分为微服务 一个其中任何公共类都可以使用任何包中的任何其他公共类逐层打包 还是一个分成多个包专用存储桶按功能打包 我相信答案是显而易见的。 结论 按功能打包是一种简单但非常强大的去耦机制 。 因此下一次某位痴迷的开发人员将作为解耦机制逐层捍卫项目结构时请纠正她/他的误解。 我认为恐龙化是当今仍然存在逐层包装的唯一原因。 翻译自: https://www.javacodegeeks.com/2018/02/package-layer-spring-project-obsolete.html
http://www.pierceye.com/news/270182/

相关文章:

  • 电子商务网站怎么做建筑安全员考试成绩查询官网
  • 定制制作网站价格表网站设计步骤大全
  • 泉州网站建设制作北京企业网络推广方案
  • wordpress网站模板怎么用新闻类网站开发
  • 怎么换自己的网站服务器手机应用软件开发培训班
  • 大学生网站开发目的建盏厂家
  • 开业时网站可以做哪些活动吗虚拟机安装 wordpress
  • 可以进行网站外链建设的有wordpress 添加顶部公告
  • 电子商务网站建设臧良运课后答案没有网站怎么做链接视频
  • vps搭建网站教程怎么通过互联网做一个服务的网站
  • 建设网站需要从哪方面考虑微信云开发
  • 做环评工作的常用网站大学两学一做专题网站
  • 网站设计的公司如何选seo 优化教程
  • 济南网站中企动力河南网站建设服务
  • 网站建设的定位是什么意思php网站开发实例视频
  • 做资讯类网站需要特殊资质吗宜昌网站排名优化
  • 百度怎么建立自己的网站科技公司网站设计公司
  • 长沙做网站的包吃包住4000网站图片如何做水印
  • wordpress的固定链接怎么设置包头整站优化
  • 瓯海建设网站中国建设劳动协会网站
  • 烟台专业做网站公司有哪些中企动力重庆分公司
  • iis 怎么绑定网站二级目录广东东莞市
  • 运城网站制作公司成crm软件
  • 阿里云网站备案登陆荆州网站开发
  • 06628 网页制作与网站建设深圳建筑人才网为什么电脑打不开
  • 企业网站建设方讯快速建站代理
  • 全面的基础微网站开发wordpress首页插件
  • 陕西省住房和城乡建设厅网站上怎么打印证书中盛客户管理软件
  • html网站标题怎么做的国外免费推广平台有哪些
  • 网站制作com cn域名有什么区别网站制作哪家好