关于use case的误区

博客指出use case是从系统外部为外部角色提供的“有价值”内容,应从用户角度出发,不能作为系统功能划分。“有价值”指满足用户需求,好的use case能让用户需求稳定。同时强调use case不应是单步操作,而应是一系列交互操作。
关于use case的误区
use case是从系统外部看提供给外部的角色的
“有价值”的东东(通常用动词开头),主要是从
用户的角度来看,切忌不要把use case作为系统
的功能的划分,因为那样是作为程序员的角度来看。
什么叫“有价值”呢?就是用户通过完成对系统的
一系列的操作,满足了他的一项需求(可粗可细)
。从这个角度来说,只要你的use case写得足够好
的话,用户的需求应该是不会变的,而如果你把
use case作为系统提供的功能来写的话,则随时可
能需要修改你的use case(当然,这是不正确的)。
最后,use case不应该是单步操作,如"按下按钮",
"打印报表"等,而应该是一系列交互的操作。
public suspend fun onPopupDisplayTest(shireiCancelNoticeIfParam: JsonObject) { var messageCase1: String = "" var messageCase2: String = "" val NoticeMessage = messageCase1 + LF + messageCase2 if(initializeDispDataTmp.torikeshiReasonCls == "0") { } 这段代码中我想调用JAFRSHO07030E001UseCase2中的initializeDispDataTmp中的torikeshiReasonCls字段,应该怎么写 参照: JAFRSHO07030E001UseCase2: package jp.or.jaf.syg.domain.usecase.jafrsho07.jafrsho07030.impl import jp.or.jaf.syg.domain.exception.StandardBusinessException import jp.or.jaf.syg.domain.message.Message import jp.or.jaf.syg.domain.model.jafrsho07.jafrsho07030.InitializeDispData import jp.or.jaf.syg.domain.model.jafrsho07.jafrsho07030.ShireiCancelNoticeModel import jp.or.jaf.syg.domain.model.jafrsho07.jafrsho07030.TShireiDataInfo import jp.or.jaf.syg.domain.model.jafrsho07.jafrsho07030.MHanyoReaInfo import jp.or.jaf.syg.domain.repository.jafrsho07.IJAFRSHO07030Repository import jp.or.jaf.syg.domain.usecase.jafrsho07.jafrsho07030.IJAFRSHO07030E001UseCase2 import javax.inject.Inject /** * 指令確認画面_指令受信取消ポップアップ画面初期化UseCase * * 指令確認画面_指令受信取消ポップアップ画面初期化のビジネスロジックユニット * * @property jAFRSHO07030Repository 指令受信取消リポジトリ */ class JAFRSHO07030E001UseCase2 @Inject constructor( /** 指令受信取消リポジトリ */ private val jAFRSHO07030Repository: IJAFRSHO07030Repository ) : IJAFRSHO07030E001UseCase2 { override suspend fun invoke(params: ShireiCancelNoticeModel): Result<InitializeDispData> { // 15 指令データを取得する val tShireiDataInfoTmp: TShireiDataInfo? = jAFRSHO07030Repository.getTShireiData( shireiMngCd = params.shireiMngCd ) if (tShireiDataInfoTmp == null) { throw StandardBusinessException.BusinessException( Message.JAFRSHO99010EC00218.id, listOf(""), "指令データ取得失敗" ) } // 16 取消理由と追加メッセージの情報を取得する。 val mHanyoReaInfoInfoTmp: MHanyoReaInfo? = jAFRSHO07030Repository.getMHanyoReaInfo( hanyoReasonCd = params.tehaiReasonCd ) if (mHanyoReaInfoInfoTmp == null) { throw StandardBusinessException.BusinessException( Message.JAFRSHO99010EC00218.id, listOf(""), "汎用理由情報取得失敗" ) } // 17 内部変数.画面初期情報を新規作成して、設定する。 val initializeDispDataTmp: InitializeDispData = InitializeDispData( shireiNo = tShireiDataInfoTmp.shireiNo, shireiBrNo = tShireiDataInfoTmp.shireiBrNo, uketsukeCompDatetime = tShireiDataInfoTmp.uketsukeCompDatetime, reason = when (params.tehaiReasonCd) { "A" -> "現着後取消不在" "B" -> "後方・取消不在" else -> mHanyoReaInfoInfoTmp.reason }, tehaiMemo = params.tehaiMemo, torikeshiReasonCls = mHanyoReaInfoInfoTmp.torikeshiReasonCls ) // 25 戻す return Result.success(initializeDispDataTmp) } } IJAFRSHO07030E001UseCase2: package jp.or.jaf.syg.domain.usecase.jafrsho07.jafrsho07030 import jp.or.jaf.syg.core.common.base.JafUseCase import jp.or.jaf.syg.domain.model.jafrsho07.jafrsho07030.InitializeDispData import jp.or.jaf.syg.domain.model.jafrsho07.jafrsho07030.ShireiCancelNoticeModel /** * 指令確認画面_指令受信ポップアップ画面初期化UseCase * */ interface IJAFRSHO07030E001UseCase2 : JafUseCase<ShireiCancelNoticeModel, InitializeDispData>
最新发布
09-24
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值