是否有关于在干净的架构中实现 asp 身份以及如何在应用程序层中使用从域层中的 IdentityUser 继承的用户实体应用 CRUD 操作的任何代码或文档我在域层中实现了 Asp 身份有什么想法吗?我忘了提到我在应用程序层使用了 CQRS
我正在尝试在我的 PHP 应用程序中应用清洁架构。目前我有我的业务逻辑实体User和服务UsersService。UsersService收集与用户实体相关的所有用例。
UsersService->createUser(someData)获取用户存储库并将其存储在数据库中。
我createUser在控制器和 Cli 任务中调用用例。我想在我的项目中集成日志系统。我想在用例和控制器/任务内部记录一些内容。
我需要在哪里放置Loggers factory/Logger接口?
我正在尝试学习 MVVM 以使我的应用程序的架构更加干净。但我很难掌握如何为我的应用程序创建“域”层。
目前,我的项目结构如下:
我的View是活动。我ViewModel有一个活动可以调用的公共方法。一旦调用 ViewModel 中的方法,它就会调用我的Repository类中的一个方法,该方法执行网络调用,然后将数据返回到 ViewModel。然后,我更新LiveDataViewModel 中的 ,以便更新 Activity 的 UI。
这就是我对如何Domain向结构添加层感到困惑的地方。我读过很多关于 Domain 层的 Stackoverflow 答案和博客,它们大多告诉您从 Domain 层中删除所有业务逻辑ViewModel并创建一个纯 Java/Kotlin 类。
所以而不是
View --> ViewModel --> Repository
我将从 与班级进行通信ViewModel,Domain班级Domain将与 进行通信Repository?
View --> ViewModel --> Domain --> Repository
我用我的电话给班级RxJava打电话。ViewModelRepository
@HiltViewModel
public class PostViewModel extends ViewModel {
private static final String TAG = "PostViewModel";
private final List<Post> …Run Code Online (Sandbox Code Playgroud) 我正在使用分页 3 的干净架构并尝试填充lazyColumn。
我的数据层模块中有以下类,我不想将 PagingData 传递到域层,因为我想让域不受任何 Android SDK 的影响。
class RepositoryImp @Inject constructor(
private val foodService: FoodService,
private val foodDatabase: FoodDatabase) : Repository {
@OptIn(ExperimentalPagingApi::class)
override fun fetchAllComplexSearch(): Flow<ResponseState<List<ComplexSearchEntity>>> {
val pagingSourceFactory = { foodDatabase.foodDao().fetchAllComplexSearchPaging() }
val pagingDataResult = Pager(
config = PagingConfig(pageSize = ITEMS_PER_PAGE_DEFAULT),
remoteMediator = ComplexSearchRemoteMediator(
foodDatabase = foodDatabase, foodService = foodService
),
pagingSourceFactory = pagingSourceFactory
).flow
val data = pagingDataResult.map { pagingData ->
pagingData.map { complexSearchModel ->
ResponseState.Success(
listOf(
ComplexSearchEntity(
complexSearchModel.id,
complexSearchModel.title,
complexSearchModel.image,
complexSearchModel.imageType
)
)
) …Run Code Online (Sandbox Code Playgroud) android clean-architecture android-jetpack-compose android-paging-3
免责声明。我并不是在寻找这两个人的讨论或意见。我的目的也不是评估或描述它们。我在一个项目中,我应该建立一条从传统重构到领域驱动重构的路径,并且我希望保持尽可能小的更改仍然可以完成任务。
根据 MS 的干净架构文档,洋葱形图应该与n 层架构不同,后者是层形的。
阅读时这一切都是有道理的,但随后,我们呈现了干净架构的不同视图,它看起来与 n 层架构非常相似。当然,我确实理解它们之间的不同,但试图理解它们不同之处以及不同之处的核心点并不会因为这种相似性而变得更容易。
这个博客是我不确定的原因的一个更好的例子。它与 .NET 无关,但架构在技术上应该是不可知的。据我了解,该过程的实际路径是基于层的,并且完全等同于n层版本(仅在绘制方式上有所不同,这应该是无关紧要的)。

这两种架构类型之间的主要区别仅仅是我们如何使用它们,还是在代码方面或项目结构中存在实际差异(当然,命名除外)?
.net architecture domain-driven-design n-tier-architecture clean-architecture
我已经开始阅读 Databricks 推出的 Unity Catalog。我理解它试图解决的基本问题,但我不明白目录到底是什么。
这可以在 Databricks 文档中找到,
目录包含架构(数据库),架构包含表和视图。
https://docs.databricks.com/data-governance/unity-catalog/create-catalogs.html
这个添加的层(在模式之上)有何帮助?我猜这与治理有关?
如果可能的话,我真的很感激一个例子。
我需要一个可扩展的业务规则引擎,我认为 Drools 是一个不错的引擎。我如何将这个 Drools 业务规则引擎与 python 应用程序一起使用?
如果Drools不适合python,请推荐一个适合python的好方法?
提前致谢,杰林·约翰
我想转换
SELECT CURRENT DATE FROM sysibm.sysdummy1;
Run Code Online (Sandbox Code Playgroud)
改为 20180119 (YYYYMMDD),而不是连字符 2018-01-19 (YYYY-MM-DD)
android ×2
architecture ×2
.net ×1
android-mvvm ×1
catalog ×1
databricks ×1
db2 ×1
drools ×1
identity ×1
php ×1
python ×1
rule-engine ×1
sql ×1