[기계실 재 구성] 직책 체인 모델 로 기계 소비 시간 계산 문 제 를 해결 합 니 다.
2500 단어 C#디자인 모드기관실 요금 시스템
우선 직책 체인 모델 이 무엇 인지 되 돌아 볼 까요?
직책 체인 모델: 여러 대상 이 요 구 를 처리 할 수 있 도록 요청 한 발송 자 와 수신 자 간 의 결합 관 계 를 피한다.이 대상 을 하나의 체인 으로 연결 하고 이 체인 을 따라 이 요 구 를 전달 하면 한 대상 이 그것 을 처리 할 때 까지 알 수 있다.
이 정의 에 따 르 면 나 는 학생 들 이 비행기 에서 내 리 는 과정 을 연상 시 켰 다.학생 들 이 탑승 시간 이 적어도 탑승 시간 이 라면 요금 계산 기준 에 따라 요금 을 받는다.그래서 직책 체인 모델 이 해결 하 는 문 제 는 소비 시간 이 어느 시간 대 에 속 하 는 지 확인 하 는 것 이다.자, 이런 생각 이 들 면 코드 를 실현 하기 시작 합 니 다.
제 직책 체인 모델 의 코드 는 업무 논리 층 (BLL) 에서 작 성 된 것 으로 호출 이 편리 합 니 다.
//
public abstract class Handler
{
protected Handler successor;
public void SetSuccessor(Handler successor) //
{
this.successor = successor;
}
//
public abstract void HandlerRequest(BasicData_Info basicData,Line_Info line);
}
// ,
public class leastTimeHandler:Handler
{
public override void HandlerRequest(BasicData_Info basicData,Line_Info line)
{
if (Convert.ToInt32(line.ConsumeTime) > Convert.ToInt32(basicData.LeastTime))
{
line.ConsumeTime = line.ConsumeTime;
}
else if(successor!=null)
{
successor.HandlerRequest(basicData,line);
}
}
}
외관 층 (Facade) 에 직책 체인 을 설치 한 상하 상속 자.
public void ConsumeTime(BasicData_Info basicData, Line_Info line)
{
BLLOnline.prepareTimeHandler prepareTimeHandler = new BLLOnline.prepareTimeHandler();
BLLOnline.leastTimeHandler leastTimeHandler = new BLLOnline.leastTimeHandler();
//
leastTimeHandler.SetSuccessor(prepareTimeHandler);
//
prepareTimeHandler.HandlerRequest(basicData,line);
}
U 층 은 직책 체인 모드 를 사용 하여 소비 시간 을 계산한다.
//
FacadeOnline facadePrepareTime = new FacadeOnline();
facadePrepareTime.ConsumeTime(basicdataSet, line);
직책 체인 모델 을 잘 알 고 자 이언 트 의 어깨 위 에 서면 이 문제 가 잘 해결 되 었 다 는 것 을 알 수 있다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.