clean-architecture相关内容

存储库是否应该引发域错误

我正在构建一个尝试遵守简洁架构的应用程序.我知道存储库旨在抽象出持久层并根据域语言返回实体.但是,这是否意味着它也应该在出现问题时检查并抛出域错误.让我们考虑一种情况,我想通过用户存储库添加用户.我可以执行以下操作: //在用户仓库中const add = (user: User): void =>{尝试 {//做一些数据库的事情} 抓住() {throw new EmailAlreadyInU ..
发布时间:2021-11-17 02:52:20 其他开发

如果我从“清洁架构"实现架构,谁必须使用包修饰符创建服务?书

我读了鲍勃叔叔的书 - “清洁建筑".有一章是西蒙·布朗写的.他修改了几种类型的建筑.他提议将实现封装在包中. 如果我把包裹带回来并标记(通过图形淡化)那些可以使访问修饰符更具限制性的类型,图片变得很有趣(图34.8) 我使用 spring DI 实现了一种方法: com.my.service公共接口 OrderService {列表获取订单();} 和实施: com.m ..
发布时间:2021-11-17 02:52:03 Java开发

清洁架构、用例和实体

好的,所以我刚刚开始了一个新的 Android 项目,并想尝试实现 Uncle Bob 的 Clean Architecture.我使用 RxJava 和来自 GitHub 示例的东西有一个很好的开始样板文件和 Fernando Cerjas 的博客(例如 这篇文章),但仍然对如何实现一些用例有一些疑问. TL;DR 实体是否应该具有另一个实体的字段(在我的示例中,User 具有 Li ..
发布时间:2021-11-17 02:45:43 移动开发

干净的架构:在不同的层共享相同的模型/实体

在我的干净架构 Android 应用程序设置中,我为每一层(数据、域、表示)都有自己的 Gradle 模块.我也为每一层都有自己的模型/实体,它们使用映射器从一层转换到另一层.这导致我有很多 kotlin 数据类,代表基本相同的东西,但在不同的层.这对我来说不太合适. 简单例子: 数据层 - Android 库模块 @JsonClass(generateAdapter = true) ..
发布时间:2021-11-17 02:27:42 移动开发

连续执行 rx.Obseravables

我正在使用 Fernando Ceja 的简洁架构开发 Android 应用.我的交互者或用例之一负责获取用户的提要数据.为了获取数据,首先我必须从数据库表中检索用户的团队,然后我必须从服务器端获取 Feed 列表. 这是我从数据库层获取团队的方式: mTeamCache.getAllTeams().subscribe(new DefaultSubscriber>() {@覆盖publi ..
发布时间:2021-07-14 18:58:44 移动开发

为 NestJs REST API 创建 DTO、BO 和 DAO

我想开始使用 NestJs 创建 REST API,但我不确定如何设置可扩展的层通信对象. 所以从关于如何开始的文档中,我想出了一个UsersController处理HTTP请求和响应,UsersService处理控制器和数据库访问器之间的逻辑,UsersRepository负责数据库管理.> 我使用 NestJs 提供的 TypeORM 包,所以我的数据库模型是> @Entity('用 ..

Java对象中更新字段的正确方法(设计模式)

我有Java类 Person : 公共类Person {私有字符串名称;私人诠释时代;私有字符串已婚状态;私人Date Dob;//getters和setters} 当获得该对象某些字段的新值时,可以对其进行更新.但是新字段会以以下格式对收入进行估价: MapnewValues 其中key-字段号和value-字段的值.我创建了此服务: 公共类UpdateS ..
发布时间:2021-04-30 19:29:15 Java开发

IHttpContextAccessor.HttpContext.User.Identity显示CurrentUserService服务中的所有空属性

我正在尝试使用 Jason Taylor的Clean Architecture模板,该模板使用NSwag自动创建一个TypeScript客户端(Angular),但是我不需要创建TS客户端,因此我的主要目标是将其替换为Razor Pages.我已经能够达到较高的要求,但是 CurrentUserService 遇到问题,每当实例化它时,都应该在此行中设置UserId: UserId = htt ..

存储库应该引发域错误

我正在构建一个尝试遵守干净架构的应用程序.我了解该存储库旨在抽象化持久层并根据域语言返回实体.但是,这是否意味着它也应该在出现问题时检查并引发域错误.让我们考虑一下我想通过用户存储库添加用户的情况.我可以执行以下操作: 用户回购中的 //const add =(用户:User):void =>{尝试 {//做一些数据库工作} 抓住() {抛出新的EmailAlreadyInUse(user.e ..
发布时间:2021-04-09 19:05:48 其他开发

如果我从“清洁架构"中实施架构,谁必须使用包修饰符创建服务?书

我阅读了Bob叔叔的书-"Clean Architecture".西蒙·布朗(Simon Brown)撰写了一章.他修改了几种类型的体系结构.他提供了将实现封装在包中的方法. 如果我带回包装并标记(通过图形淡入淡出)可以更严格地限制访问修饰符的类型,图片变得非常有趣(图34.8) 我用spring DI实现了一种方法: com.my.service公共接口OrderService ..
发布时间:2021-04-09 19:05:12 Java开发

干净的体系结构:组合交互器

我最近偶然发现了Bob叔叔的“干净的体系结构",我很想知道交互器是否可以执行其他交互器. 例如,这些是我到目前为止的交互器:getEmptyAlbums,getOtherAlbums.两者都具有分别返回专辑列表(专辑模型的ArrayList)的回调. 我可以让一个名为getAllAlbums的Interactor在其run块中执行前两个Interactor吗? @Override公 ..
发布时间:2021-04-05 20:10:39 Java开发

具有清晰架构的Android分页库

我正在尝试 Android体系结构组件中的分页库,但是我有怀疑将其集成到基于干净架构的项目中. 通常我有3个模块: 主模块(应用程序) 数据模块(具有网络和数据库依赖性的Android模块) 域模块(纯Kotlin模块) 为了引入分页,我不得不考虑将 PagedList 类作为域类.(IMO并不是一个糟糕的主意,因为最后是一个列表,并且数据源是抽象的) 因此在域 ..

如何处理带有清理架构的DDD中具有过多依赖项参数的UseCase Interactor构造函数?

使用带有Clean Architecture的DDD,我首先实例化所有依赖项(例如存储库和服务),并将其注入到UseCases中。我发现随着时间的推移,我对每个UseCase的依赖关系列表已经变得越来越大。例如,我的UseCase使用3个聚合根,因此我有3个存储库。还不错但是,随着我添加更多功能,我发现自己添加了域服务或更多存储库,并且还必须将它们注入UseCase构造函数中。在UseCase交互 ..

干净的架构-将输入验证逻辑放在哪里?

也许在应用程序中,我具有一项功能,允许用户使用具有某些验证逻辑的表单发送反馈: 名称可以为空 反馈消息应至少包含5个字符 您将这些验证逻辑放在哪里,在域层作为业务逻辑还是在表示层作为UI逻辑? 这些逻辑适用于所有应用程序(Android,iOS,Web)。请注意,我们已经进行了服务器端验证。 解决方案 我认为许多开发人员都在 Presentation 层,特别是在 Vi ..
发布时间:2020-10-05 04:13:43 其他开发

清洁架构当前的用户获取

在Clean Architecture用例中,应了解身份验证/授权过程,并且命令/查询层应使用某种框架对在下面的层中实现的身份验证服务进行某种抽象,否则应将用户标识符作为命令/的一部分传递查询? 选项: 选项1: class ChangePasswordCommand { char[] newPassword; } class ChangePasswordComman ..
发布时间:2020-09-14 02:48:07 其他开发

清洁架构,用例和实体

好的,所以我刚开始一个新的Android项目,并想尝试实现Bob叔叔的Clean Architecture.我从RxJava和GitHub示例&中的内容开始有了一个不错的开始样板和Fernando Cerjas的博客(例如这篇文章),但对于如何实现一些UseCases仍然存在一些疑问. TL; DR 一个实体是否应具有另一个实体的字段(在我的示例中,User具有一个List ..
发布时间:2020-09-06 19:45:26 移动开发