Последние комментарии
Для меня эта страница - это удобный способ смотреть, что нового происходит в комментариях и сразу находить заметку, не заходя в админку. Думаю, она будет полезна и тебе.
Серега
Миша, у тебя нагло тырят контент. Вот эту статью http://www.flenov.info/favorite.php?artid=24 стырили сюда: http://yapro.ru/web-master/xhtml/zakoni_verstki_sayta.html
ronin
Захотите мигрировать на другую базу данных, просто создадите еще одну реализацию MyMegaDBOracle и измените одну строку коды и вперед
тут я не понял, например, у меня работа идёт с Mysql, а я решил переходить на Oracle, а там другой синтаксис запросов, другой набор
компонентов доступа к бд с другой реализацией работы с этой базой (свойства, методы, события), что в этом случае значит "одна строка кода"?
мне ведь всё равно прийдётся перелопачивать весь этот класс для того что бы либо добавить этот функционал, либо переписать старый, разве не так?
в чём преимущества данного подхода?
завтра он понимает, что нужно Oracle. А кто-то может не захотеть платить деньги и затребует MySQL. Использование интерфейсов позволит без проблем подменять
классы доступа к данным и прогрессировать с минимальными потерями
это как раз к вопросу выше, как эти потери станут минимальными при таком подходе?
Поэтому такие функции как FindRow, DeleteRow могут быть описаны прямо в базовом классе
я конечно понимаю что может быть я не прав, но при написании проектов (тем более больших) разве сейчас пишут ручками такие элементарные
функции? я купил например библиотеку компонентов DevExpress за 10000 рублей, а там такой функционал по поиску, фильтрации, сортировке, редактированию и т.д. и т.п. что мне
и за 10 лет такое не написать, смысл тогда заморачиваться с такими вещами? соответственно у меня возникает вопрос о целесообразности
написания класса прослойки для работы с базой данных?
Михаил Фленов
Разниц много, но с точки зрения проектирования, все очень даже схоже. Где и что лучше использовать, сказать не могу. Я предпочитаю использовать абстрактные классы для случаев, когда описывается большой класс, и интерфейсы, когда нужно всего пару тройку методов. Просто если у интерфейса всего пару методов, то их можно реализовать где угодно, ведь интерфейсы позволяют множественное наследование и это придает дополнительную гибкость. Если методов много, то я предпочитаю абстрактные классы.
Михаил Фленов
В статье есть тект, похожий на теги <object> и IE проигнорировл это, а FF убил разметку страницы. Исправилено
Денис
Поправьте, пожалуйста, верстку. Текст, после примеров, читать невозможно.
Или это только у меня?
Topal
Где лучше использовать инрефейсы, а где лучше абстрактные методы? В чем принципеальная разница?
Topal
Статья понравилась, побольше бы таких статей. Только мне ее пришлось в Word копировать, чтоб прочитать (
много текста уходит за пунктирные поля (и в опере и в хроме таже проблема))
ronin
чё то Михаил ты там намудрил с оформлением, поправь, а то не удаётся почитать :)
Ерлан
Привет.
Статью неудобно читать))

VVS
функции? я купил например библиотеку компонентов DevExpress за 10000 рублей, а там такой функционал по поиску, фильтрации, сортировке, редактированию и т.д. и т.п. что мне
и за 10 лет такое не написать, смысл тогда заморачиваться с такими вещами? соответственно у меня возникает вопрос о целесообразности
написания класса прослойки для работы с базой данных?
Ведь DevExpress, не сделает автоматическую выборку из БД того что нужно, не предусмотрит какие-то специфические методы? Вы все равно будете делать прослойку между DevExpress и вашей БД.
Если вы не хотите писать запросы ручками, используйте Entity Framework или другую ORM(как я понял DevExpress именно это вам и предоставляет), но вам все равно придеться создавать какую-то прослойку м/у вашей БД и тем что вы используете для доступа к ней.