在干净的架构中结合用例/交互器

reg*_*aes 6 architecture android

我正在开发一个 Android 应用程序,其架构基于Uncle 的 Bob Clean Architecture

到目前为止,我已经实现了很多我的用例/交互器而没有问题。

我有以下用例:

搜索室

  • 主要成功场景

    1. 系统根据给定参数搜索房间
    2. 系统加入房间内的用户
  • 延期

    1. 找不到房间

      a) 系统根据给定的参数创建一个新房间

      b) 系统加入房间的用户

我的问题是:我应该创建一个交互器(SearchOrCreateRoomAndJoin),还是应该创建三个交互器(SearchRoom、 CreateRoom 和JoinRoom)并根据我的用例描述将它们组合起来?

例子:

 Room room = searchRoom.execute(roomOptions)

 if(room != null){

     joinRoom.execute(room)

 }else{

     Room room = createRoom.execute(roomOptions)

     joinRoom.execute(room)
}
Run Code Online (Sandbox Code Playgroud)

重要的是,在我的应用程序的某些方面,我执行了一些交互器,例如SearchRoom

ant*_*icg 6

在我看来,您应该开发三个交互者以尊重单一职责原则。如果这样做,可以提高代码的可维护性和重用性,因为您可以在其他场景中单独使用这些交互器。