По сути, на моем рабочем месте есть система, которая обеспечивает возможности оптического распознавания текста.Процесс заключается в том, что стороннее приложение сконфигурировано для отображения захваченного экрана (во время процесса OCR), а пользователь сидит за компьютером и проверяет правильность полученных данных.
Эта стадия захвата имеет проверку на каждомполей.например, если документ является накладной для определенного клиента, поставщик накладной сверяется с контрольными данными.Код подтверждения представлен в виде скомпилированного файла .net dll, сгенерированного мною из решения Visual Studio 2008.
Сторонние интерфейсы используются для связи между формой захвата и кодом, который я пишу.Например,
#region GetLinesTotal
/// <summary>
/// Gets the total for e.g. all VAT lines from the table
/// </summary>
/// <param name="oCSM">ITisClientServicesModule</param>
/// <param name="oTab">field table object</param>
/// <param name="fieldName">partial fieldname of table field (without the $XXXX)/param>
/// <returns>total as a string, empty string if all values empty</returns>
public static string GetLinesTotal(ITisClientServicesModule oCSM,ITisFieldTableData oTab, string fieldName )
{
string sLineTot = string.Empty;
ErrHandling.TryInit(oCSM);
string sFunction = "GetLinesTotal";
try
{
decimal dTot = 0m;
string sTemp = string.Empty;
for (int i = 0; i< oTab.NumberOfRepetitions;i++)
{
sTemp = Utils.GetFieldCont(oTab.ParentForm,fieldName + "$" + i.ToString("X").PadLeft(4,'0')).Trim();
if (sTemp != string.Empty)
{
dTot += Convert.ToDecimal(sTemp);
sLineTot = dTot.ToString();
}
}
}
catch (Exception ex)
{
ErrHandling.errHandler.LogMsg(ex.ToString(),sFunction,CLASS_NAME,TIS_SEVERITY.TIS_ERROR);
sLineTot = "INVALID";
}
return sLineTot;
}
#endregion GetLinesTotal
Я хочу создать слой абстракции, удалив сторонние интерфейсы из этого кода (разделяя проблемы), что позволит упростить тестирование (TDD).и т.д.
Я новичок в этих подходах, и я прошу прощения, если я сделал какие-то неправильные предположения.Мне просто интересно, смогу ли я получить какой-нибудь совет о том, как двигаться дальше с кодом.В какой-то момент мы (компания) можем выбрать другое приложение OCR стороннего производителя.
Заранее спасибо