Использование интерфейсов для бизнес-объектов
От: Shmj Ниоткуда  
Дата: 27.09.17 02:21
Оценка:
Если в вашем проекте бизнес-объекты в контрактах определены в виде классов, то при передаче из одного слоя в другой
Автор: Shmj
Дата: 26.09.17
происходит двойное преобразование. Сначала вы преобразовываете объекты слоя A к объектам общего вида (которые определены в контрактах), затем из объектов общего вида преобразуете к объектам слоя Б.

А если вы юзаете интерфейсы без конкретных реализаций -- то будет одно преобразование, так как объект любого слоя в одну сторону преобразовывается к интерфейсу автоматически.

В мире Java такая схема более распространена. А вот в .Net интерфейсы создают только для сервисов а бизнес-объекты выполняются в виде классов. Даже в том же Guidelines есть рекомендация:

DO NOT use weakly typed collections in public APIs. +
The type of all return values and parameters representing collection items should be the exact item type, not any of its base types (this applies only to public members of the collection). 1


Т.е. для коллекций рекомендуют возвращать конкретный тип, а не базовый или интерфейс. Почему же? В чем минус? Ведь один хрен между слоями происходит копирование.
Отредактировано 27.09.2017 2:22 Shmj . Предыдущая версия .
Re: Использование интерфейсов для бизнес-объектов
От: hardcase Пират http://nemerle.org
Дата: 03.10.17 17:05
Оценка:
Здравствуйте, Shmj, Вы писали:

S>Даже в том же Guidelines есть рекомендация:


S>

S>DO NOT use weakly typed collections in public APIs. +
S>The type of all return values and parameters representing collection items should be the exact item type, not any of its base types (this applies only to public members of the collection). 1


Эта рекомендация про ArrayList, Hashtable и т.п. коллекции. Рекомендация призывает использовать дженерики.
/* иЗвиНите зА неРовнЫй поЧерК */
Re[2]: Использование интерфейсов для бизнес-объектов
От: Shmj Ниоткуда  
Дата: 04.10.17 04:05
Оценка:
Здравствуйте, hardcase, Вы писали:

S>>

S>>DO NOT use weakly typed collections in public APIs. +
S>>The type of all return values and parameters representing collection items should be the exact item type, not any of its base types (this applies only to public members of the collection). 1


H>Эта рекомендация про ArrayList, Hashtable и т.п. коллекции. Рекомендация призывает использовать дженерики.


"...должны уточнять тип элемента, а не один из его базовых типов. Вроде речь про сам <T>.
Re[3]: Использование интерфейсов для бизнес-объектов
От: hardcase Пират http://nemerle.org
Дата: 04.10.17 13:54
Оценка:
Здравствуйте, Shmj, Вы писали:

S>"...должны уточнять тип элемента, а не один из его базовых типов. Вроде речь про сам <T>.


Это чтобы люди не городили подобие ConfigurationElementCollection.
/* иЗвиНите зА неРовнЫй поЧерК */
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.