加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Scala项目组织

发布时间:2020-12-16 09:01:33 所属栏目:安全 来源:网络整理
导读:在 Scala项目中如何组织代码? 经过多年的Java开发(大多数时候使用Spring),我们试图在Scala中提出一个快速的原型. 第一个出现的问题之一是:我们只是基本上使用相同的软件包名称和代码组织,并在Scala中编写代码? 例如,我们习惯为我们的实体(AccountHelper,C
在 Scala项目中如何组织代码?

经过多年的Java开发(大多数时候使用Spring),我们试图在Scala中提出一个快速的原型.

第一个出现的问题之一是:我们只是基本上使用相同的软件包名称和代码组织,并在Scala中编写代码?

例如,我们习惯为我们的实体(AccountHelper,CacheHelper …)提供帮助,有时我们也使用服务(AccountService …).

ot:我们还要调查如何将我们的maven子模块移植到sbt,但这完全是一个不同的故事.

解决方法

答案部分取决于对你最重要的.如果您对于快速原型部分真的很认真,那么就物理文件/目录布局而言,我只需要从一个平面文件开始,只有当有足够的代码来使其变得尴尬时,才能开始分解它.至少应该使您的代码的全局重组更容易,直到您获得正确的整体结构. Scala不强制执行包:目录,类:文件对应关系,并给出了Scala在许多情况下可能过度杀伤的简洁性.
没有任何东西可以阻止你在一个文件中组织多个包,然后一旦你的结构正确,你就会在物理上分解它们.实际上打破文件时,你需要应该很容易.

你没有多说什么你的帮手服务类做,但是从命名约定来看,它们似乎是普通特征(或可能是类)的好候选者.这将允许您确定所有不同的助手有什么共同点(和类似的服务).他们应该有一个共同点,以证明命名惯例.然后,您将最终使用或可能扩展类型,如Helper [Cache]和Service [Account].我也猜测,这些类型的实例可以受益于隐含传递,并将帮助[X]和服务[X]转换为类型.此时也可能不再需要Spring,因为隐式查找实际上会为您提供所需的依赖注入.然而,我只是去你提供的几个类名,并且读了很多很多的东西,所以有机会,我完全是在这里的基地.

另一个可能性是辅助类,如Helper&服务只是伪装的封锁.这是Java中类的一个很常见的例子.在这种情况下,您应该将它们实现为Scala中的函数,但是我再次从名称中猜出…

您还可以查看“图层蛋糕”图层,看看是否对您的项目有意义.

有关您的项目的更多信息可能会让您比我过分的想象力的这些产品更好的建议:).

赫拉是一些潜在有用的链接:

> http://jonasboner.com/2008/10/06/real-world-scala-dependency-injection-di/
> Where does Scala look for implicits?
> http://www.youtube.com/watch?v=yLbdw06tKPQ
> https://vimeo.com/20308847
> http://www.youtube.com/watch?v=YZxL0alO1yc

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读