Я новичок в Web / WCF / Services - так что потерпите меня:)
Я пытаюсь проанализировать поток кода в приложении .NET, но мне трудно понять причины использованияследующий подход, когда дело доходит до предоставления сервисов:
Теперь в приложении у меня есть C # Class Lib Proj, в котором есть проект библиотеки классов C # под названием «XXX.YYY.Services», в котором у меня есть 2 файла.:
ISomeServiceProviderClass.cs SomeServiceProviderClass.cs
Внутри ISomeServiceProviderClass.cs У меня есть следующая структура кода:
[ServiceContract]
public interface ISomeServiceProviderClass
{
[OperationContract]
int SomeFunc();
}
Затем существует класс SomeServiceProviderClass.cs, которыйопределяется следующим образом:
public class SomeServiceProviderClass: ISomeServiceProviderClass
{
public int SomeFunc()
{
/// some code to do the implementation..
}
}
Это примерная структура службы в моем приложении поставщика.Очевидно, что приложение Consumer использует этот сервис для отображения результатов в своем уровне пользовательского интерфейса.
Теперь я хочу знать, зачем нужен интерфейс ISomeFile.cs, а затем SomeFile.cs, который реализует этот интерфейс?
Я догадывался, что одной из причин может быть предоставление различных типов реализаций в каждом классе, реализующем этот интерфейс ... Если это так, то почему бы не иметь только файл SomeServiceClass.csв рамках которого у меня есть виртуальные функции, которые могут быть переопределены в производных классах?Или почему бы не иметь абстрактный класс с абстрактными функциями?