Я обрабатываю сообщения из MSMQ.способ абстрагировать успех/сбой подпроцесса
Для каждого сообщения есть десять шагов, таких как:
- VerifyDates
- VerifyPatientInformation
- VerifyClinicalInformation
Если происходит сбой в одном из трех шагов, я бы как выкинуть сообщение.
Может ли кто-нибудь указать на пример SOLID, демонстрирующий этот принцип? Я не уверен, как структурировать мои классы.
Например
public class VerifyDates()
{
private validateSomething ValidateSomething();
public VerifyDates()
{
validateSomething = new ValidateSomething();
}
public bool Verify()
{
validateSomething.IsValid();
}
}
Если предположить, что VerifyDates()
является частью моей логики обработки, я должен быть добавление публичного поля к классу BOOL Флаг, который возвращает или не продолжать обработку?
Возможно, я должен добавить интерфейс IHasFlag, где каждый класс, который используется в моей логике обработки, имеет флаг, который я проверяю в конце, чтобы узнать, продолжать ли обработку сообщений?
Обработка сообщений будет идти-то вроде этого
public void ProcessMessages()
{
var verifyDates = new VerifyDates();
if(!verifyDates.IsValid)
{
return;
}
//continue processing
//but every step of the process I would need to check IsValid for that specific class
}
Как вы абстрагировать успех/провал каждого шага в процессе последовательного?
большое спасибо вы можете продемонстрировать использование этого API –
http://i.imgur.com/nXyz7a7.png –
http://i.imgur.com/bXUFlZl .png –