Rambler's Top100
Главная
Новости
Статьи
Форумы
Книги
Коды
Сообщество
Блоги
О нас
 

Логин

Email:
  Пароль:

Войти
Зарегистрироваться
Забыл пароль

Поиск

 Искать :
 
Вперед

Сообщение

C...R...a...S...H


Архифлеймер

Зарегистрирован:
04 October 2005
Сообщения: 3067
Примеры кода: 0
 

Re: [dev] octalforty Waffle -- форум

21 February 2008 15:16  



Это как-то не совсем иерархии, но идею я, кажется понял.

Смысл этих интерфейсов в том, чтобы позволить прикладному коду работать с объектами полиморфно. То есть, если у нас есть метод

RssFeedItem BuildRssFeedItem(IBusinessObject businessObject)
{
RssFeedItem rssFeedItem = new RssFeedItem();

if(businessObject is IBusinessObjectWithName)
rssFeedItem.Title = ((IBusinessObjectWithName)businessObject).Name;

if(businessObject is IBusinessObjectWithDesciption)
rssFeedItem.Content = ((IBusinessObjectWithDesciption)businessObject).Description;

return rssFeedItem;
}
то ему совершенно неинтересно, что конкретно ему передают -- главное, чтобы переданный объект реализовывал IBusinessObject и, опционально, пару других интерфейсов. Таким образом получаем, что этот метод умеет обрабатывать и (если говорить про этот форум) Discussion, и DiscussionPost, и даже Forum.

Может это конечно холивар но:
такой IF - это не есть гуд.
И к тому же его можно избежать:
RssFeedItem BuildRssFeedItem(IBusinessObject businessObject)
{
RssFeedItem rssFeedItem = new RssFeedItem();
rssFeedItem.Title = businessObject.Name;
rssFeedItem.Content = businessObject.Description;
return rssFeedItem;
}
Ведь если объект не содержит Description от он и вернет NULL

Зачем такой огород с if и as непонятноРасстройство




----------------------------------------
Knowledge is P...O...w...E...R!
My site

Данное сообщение получено с сайта GotDotNet.RU
Наверх
  



Общие вопросы программирования на ASP.NET

 [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 13:16
 Re: [dev] octalforty Waffle -- форумНахлобуч  22 February 2008 15:38
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  22 February 2008 16:01
 Re: [dev] octalforty Waffle -- форумSa  22 February 2008 15:21
 Re: [dev] octalforty Waffle -- форумГость_М  21 February 2008 21:54
 Re: [dev] octalforty Waffle -- форумSa  21 February 2008 21:24
 Re: [dev] octalforty Waffle -- форумmaXmo  21 February 2008 19:42
 Re: [dev] octalforty Waffle -- форумГость_М  21 February 2008 17:49
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 17:20
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 17:49
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 17:09
 Re: [dev] octalforty Waffle -- форумГость_М  21 February 2008 17:07
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 16:51
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 17:14
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 16:37
 Re: [dev] octalforty Waffle -- форумГость_М  21 February 2008 15:41
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 15:21
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 15:34
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 15:08
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 15:16
 Re: [dev] octalforty Waffle -- форумГость_М  21 February 2008 15:05
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 14:42
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 15:00
 Re: [dev] octalforty Waffle -- форумНахлобуч  21 February 2008 14:25
 Re: [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 14:34
 [dev] octalforty Waffle -- форумC...R...a...S...H  21 February 2008 14:19
 
Наш Киев

Apartments for Rent

Rambler's Top100
Рейтинг@Mail.ru
Идея: Dimon aka Manowar Программирование: Dimon aka Manowar Дизайн: Dan Lebedev
Хостинг от компании Parking.ru
Карта сайта