Junior
Статус: Не в сети Регистрация: 05.04.2005 Откуда: Москва
Почитай что такое Attributes в .NEt - например тут : http://msdn.microsoft.com - в Java 1.5 это спи..(позаимствовано) один в 1.1
На русском была статья тут www.javable.com
Ну и теперь обьяснения, правдо сорри в родном для меня >NET синтаксисе.
Есть у тя например класс
public Emplooyee { int salary; string name ; bool mood} - в нем заключена логика работы именно с сотрудниками.
Теперь представь что этот класс надо
а) запихивать как-то в XML (сериализировать) = (свойство можно записать в xml-аттрибут или xml-элемент
б) отображать объекты типа этого класса (нарпример на ВЕб ) итд. (ну там разные елементы управления.. тип текстбокс или выпадающий список или еще чего.
Мы можем написать так
public Emplooyee { int salary; string name ; bool mood ; // Переменные по делу
int xml_salary_mode ; ... ; // как эти переменные в ХМЛ писать
some display_salary_mode, ; // как их отображать
}
но это типа не круто - круто так
public Emplooyee {
[XmlElement("Bablo")] // при сохранении в хмл - создать элемент Bablo для зарплаты
[DisplayMode(Modes.DDL)] // Если отображать -- то использовать для зарплаты DropDownList (выпадающий список) - а не например текстбокс
int salary;
string name ;
bool mood}
А потом другой класс посмотрит эти самые Аннотации ( шо в квадратных скобках) и настроит свою работу с классом как он хочет.
Тоесть АТТРИБУТЫ в НЕТ ( они же АННОТАЦИИ в Яве) - это способ сопоставить некоторую дополнительную информацию с объектами программы. Типа как помечая что-то паблик ты говоришь что это что-то доступно из вне. Соотв помечая что-то аттрибутом - ты позволяешь другому коду (используя Reflection) отличить например классы которые надо сохранять в Xml от классов которых не нужно сохранять итд.
Как использовать
1) помеячать готовыми аттрибутами согласно MSDN - ну или что там у вас у джавистов - например я использую аттрибуты XmlAttribue & XmlElement что сказать как я изволю что б НЕТ сохранял свойство в XML - в виде аттрибута или элемента соотв.
2) создавать свои только очень хорошо подумав и поконсультировавшись с LD / Atchitect - обычно прикладные программисты помечают что-то а фреемворки согласно этому помечанию ведут ся так или иначе. Скорость работы с рефлекшеном что в НЕТ что в ДЖава далека от приемлимой (раз так в 1000 медленее чем напрямую) , код для обращение через рефлекш - относительно сложный. Не то что фатально сложно и фатально медленно - но часто можно решить ту же задачу быстрее и проще иначе)
Тоесть без нужды своих аттрибутов(аннотаций) лучше не плодить ... но активно использовать готовые из MSDN
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения