Я работаю над уровнем обработки исключений для своего приложения.Как использовать интерфейсы в обработке исключений
Я прочитал несколько статей о интерфейсах и дженериках. Я использовал наследование до довольно многого, и мне комфортно в этой области.
У меня есть очень краткое дизайн, который я собираюсь реализовать:
public interface IMyExceptionLogger
{
public void LogException();
// Helper methods for writing into files,db, xml
}
Я немного смущен, что я должен делать дальше.
public class FooClass: IMyExceptionLogger
{
// Fields
// Constructors
}
Должен ли я реализовать LogException()
метод в FooClass
? Если да, то я пытаюсь понять, как лучше использовать интерфейс вместо конкретного класса ...
У меня есть множество классов, которые будут использовать этот интерфейс, но я не знаю, t хочу написать реализацию этого интерфейса в каждом классе.
В то же время, если я реализовать интерфейс в одном классе, а затем использовать этот класс в разных слоях приложения я буду по-прежнему с использованием конкретных классов вместо интерфейсов, что является плохим дизайном OO ...
Надеюсь, это имеет смысл.
Любые отзывы и предложения приветствуются.
Обратите внимание, что я не заинтересован в использовании net4log или его конкурентов, потому что я делаю это, чтобы учиться.
Спасибо
Edit:
Написал несколько больше кода. Поэтому я буду внедрять множество регистраторов с этим интерфейсом, т. Е. DBExceptionLogger
, CSVExceptionLogger
, XMLExceptionLogger
и т. Д. Чем я буду в конечном итоге заниматься конкретными классами, которые мне придется использовать в разных слоях моего приложения.
Эй, благодарю вас за ответ. Это означает, что я буду хранить интерфейс в одной DLL и реализации этого интерфейса в отдельных DLLS. Таким образом, у меня будут разные слои, ссылающиеся на один уровень интерфейса. Это верно? – 2010-06-09 09:46:54
Да, это был бы хороший способ сделать это. –
Спасибо большое! Действительно ценю это. – 2010-06-09 10:13:34