clean-architecture相关内容
sf::Sprite 可以与多个 sf::Sprite 对象共享相同的 sf::Texture 对象,所以我想设计一个 Texture Manager 多次使用不同的纹理. 我使用标识符来引用纹理.TextureID 将纹理映射到包含纹理的文件对应的文件路径: std::filesystem::path mapIdToFilepath(TextureID id); 在 Texture
..
我正在构建一个尝试遵守简洁架构的应用程序.我知道存储库旨在抽象出持久层并根据域语言返回实体.但是,这是否意味着它也应该在出现问题时检查并抛出域错误.让我们考虑一种情况,我想通过用户存储库添加用户.我可以执行以下操作: //在用户仓库中const add = (user: User): void =>{尝试 {//做一些数据库的事情} 抓住() {throw new EmailAlreadyInU
..
我读了鲍勃叔叔的书 - “清洁建筑".有一章是西蒙·布朗写的.他修改了几种类型的建筑.他提议将实现封装在包中. 如果我把包裹带回来并标记(通过图形淡化)那些可以使访问修饰符更具限制性的类型,图片变得很有趣(图34.8) 我使用 spring DI 实现了一种方法: com.my.service公共接口 OrderService {列表获取订单();} 和实施: com.m
..
好的,所以我刚刚开始了一个新的 Android 项目,并想尝试实现 Uncle Bob 的 Clean Architecture.我使用 RxJava 和来自 GitHub 示例的东西有一个很好的开始样板文件和 Fernando Cerjas 的博客(例如 这篇文章),但仍然对如何实现一些用例有一些疑问. TL;DR 实体是否应该具有另一个实体的字段(在我的示例中,User 具有 Li
..
在我的干净架构 Android 应用程序设置中,我为每一层(数据、域、表示)都有自己的 Gradle 模块.我也为每一层都有自己的模型/实体,它们使用映射器从一层转换到另一层.这导致我有很多 kotlin 数据类,代表基本相同的东西,但在不同的层.这对我来说不太合适. 简单例子: 数据层 - Android 库模块 @JsonClass(generateAdapter = true)
..
我正在使用 Fernando Ceja 的简洁架构开发 Android 应用.我的交互者或用例之一负责获取用户的提要数据.为了获取数据,首先我必须从数据库表中检索用户的团队,然后我必须从服务器端获取 Feed 列表. 这是我从数据库层获取团队的方式: mTeamCache.getAllTeams().subscribe(new DefaultSubscriber>() {@覆盖publi
..
我想开始使用 NestJs 创建 REST API,但我不确定如何设置可扩展的层通信对象. 所以从关于如何开始的文档中,我想出了一个UsersController处理HTTP请求和响应,UsersService处理控制器和数据库访问器之间的逻辑,UsersRepository负责数据库管理.> 我使用 NestJs 提供的 TypeORM 包,所以我的数据库模型是> @Entity('用
..
我有Java类 Person : 公共类Person {私有字符串名称;私人诠释时代;私有字符串已婚状态;私人Date Dob;//getters和setters} 当获得该对象某些字段的新值时,可以对其进行更新.但是新字段会以以下格式对收入进行估价: MapnewValues 其中key-字段号和value-字段的值.我创建了此服务: 公共类UpdateS
..
我正在尝试使用 Jason Taylor的Clean Architecture模板,该模板使用NSwag自动创建一个TypeScript客户端(Angular),但是我不需要创建TS客户端,因此我的主要目标是将其替换为Razor Pages.我已经能够达到较高的要求,但是 CurrentUserService 遇到问题,每当实例化它时,都应该在此行中设置UserId: UserId = htt
..
我正在构建一个尝试遵守干净架构的应用程序.我了解该存储库旨在抽象化持久层并根据域语言返回实体.但是,这是否意味着它也应该在出现问题时检查并引发域错误.让我们考虑一下我想通过用户存储库添加用户的情况.我可以执行以下操作: 用户回购中的 //const add =(用户:User):void =>{尝试 {//做一些数据库工作} 抓住() {抛出新的EmailAlreadyInUse(user.e
..
我阅读了Bob叔叔的书-"Clean Architecture".西蒙·布朗(Simon Brown)撰写了一章.他修改了几种类型的体系结构.他提供了将实现封装在包中的方法. 如果我带回包装并标记(通过图形淡入淡出)可以更严格地限制访问修饰符的类型,图片变得非常有趣(图34.8) 我用spring DI实现了一种方法: com.my.service公共接口OrderService
..
我最近偶然发现了Bob叔叔的“干净的体系结构",我很想知道交互器是否可以执行其他交互器. 例如,这些是我到目前为止的交互器:getEmptyAlbums,getOtherAlbums.两者都具有分别返回专辑列表(专辑模型的ArrayList)的回调. 我可以让一个名为getAllAlbums的Interactor在其run块中执行前两个Interactor吗? @Override公
..
我正在尝试 Android体系结构组件中的分页库,但是我有怀疑将其集成到基于干净架构的项目中. 通常我有3个模块: 主模块(应用程序) 数据模块(具有网络和数据库依赖性的Android模块) 域模块(纯Kotlin模块) 为了引入分页,我不得不考虑将 PagedList 类作为域类.(IMO并不是一个糟糕的主意,因为最后是一个列表,并且数据源是抽象的) 因此在域
..
包装来自服务器的响应然后进行处理的方法是什么? API以以下格式返回响应: 成功: { "data": [], "statusCode": 200, "statusMessage": "Operation success", "success": true } 失败: { "errors": [], "statusCode":
..
使用带有Clean Architecture的DDD,我首先实例化所有依赖项(例如存储库和服务),并将其注入到UseCases中。我发现随着时间的推移,我对每个UseCase的依赖关系列表已经变得越来越大。例如,我的UseCase使用3个聚合根,因此我有3个存储库。还不错但是,随着我添加更多功能,我发现自己添加了域服务或更多存储库,并且还必须将它们注入UseCase构造函数中。在UseCase交互
..
也许在应用程序中,我具有一项功能,允许用户使用具有某些验证逻辑的表单发送反馈: 名称可以为空 反馈消息应至少包含5个字符 您将这些验证逻辑放在哪里,在域层作为业务逻辑还是在表示层作为UI逻辑? 这些逻辑适用于所有应用程序(Android,iOS,Web)。请注意,我们已经进行了服务器端验证。 解决方案 我认为许多开发人员都在 Presentation 层,特别是在 Vi
..
在Clean Architecture用例中,应了解身份验证/授权过程,并且命令/查询层应使用某种框架对在下面的层中实现的身份验证服务进行某种抽象,否则应将用户标识符作为命令/的一部分传递查询? 选项: 选项1: class ChangePasswordCommand { char[] newPassword; } class ChangePasswordComman
..
一个sf::Sprite可以与多个sf::Sprite对象共享同一个sf::Texture对象,因此我想将 Texture Manager 设计为多次不具有相同的纹理. 我正在使用一个标识符来引用纹理. TextureID将纹理映射到与包含该纹理的文件相对应的文件路径: std::filesystem::path mapIdToFilepath(TextureID id); 在Te
..
好的,所以我刚开始一个新的Android项目,并想尝试实现Bob叔叔的Clean Architecture.我从RxJava和GitHub示例&中的内容开始有了一个不错的开始样板和Fernando Cerjas的博客(例如这篇文章),但对于如何实现一些UseCases仍然存在一些疑问. TL; DR 一个实体是否应具有另一个实体的字段(在我的示例中,User具有一个List
..
我正在尝试将Room与RxJava和Retrofit一起使用,然后建议您使用组件弓(在这种情况下,该项目已成50%的机会,并且仅需要继续进行弓清理)是不可能的. 所以问题是这个.我有一个返回 POJO 的Web服务.像这样: { "success":"true", "message":"message", "data":{[ "id":"id", "name":"na
..