Задать вопрос
Дизайн, usability, проектирование.
Коптеры, современное искусство.
.Net, DSL, Sql,
Контакты

Наибольший вклад в теги

Все теги (10)

Лучшие ответы пользователя

Все ответы (7)
  • C# unit testing best practices?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Тут уже ответили по самым популярным.
    Добавлю ещё Microsoft Fakes
    Неплохо подходит для тестирования взаимодействия с большим внешним кодом который сложно замочить.
    В качестве интересного примера - специальные компоненты для юнит-тестирования sharepoint.
    Ответ написан
    Комментировать
  • Книга по шаблонам проектирования?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Если с паттернами только начинаешь знакомиться то очень последовательное изложение в книге Фримен, Фримен, Сьерра: Паттерны проектирования
    Её рекомендую читать в бумаге прямо с начала и последовательно.

    Для более продвинутого изучения рекомендую книгу Теплякова Паттерны проектирования
    Там помимо собственно самих паттернов хорошо описывается как научиться ими не злоупотреблять.

    Про классику - если уже очень хорошо знаешь что такое паттерны и имеешь по ним своё мнение - читать можно. Для изучения с начала - не очень подходит.
    Ответ написан
    Комментировать
  • Как спроектировать БД с переменным количеством параметров?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Я рекомендую посмотреть в сторону EAV. Но!!! Смотреть очень внимательно. Там есть очень большая куча плюшек и примерно такая же куча ....хм.... не плюшек. Выбирать только вам.
    И добавлю сюда ссылку на очень похожее обсуждение:
    Как хранить абстрактные модели данных в реляционных БД?

    Кстати, постарайтесь почёте сформулировать ваш вопрос. Возможно, если этих самый неизвестных параметров будет немного - то лучшим способом будет простое расширение табличек.
    В сторону EAV надо смотреть если у вас количество и сами параметры могут сильно отличаться от объекта к объекту. И сами эти параметры могут появляться стихийно по желанию ваших пользователей.
    Так же очень рекомендую рассмотреть компромиссный вариант, в котором у вас будет использоваться классическая структура полей и таблиц. И где-то рядом к ней будет пристёгнута структура EAV для экспериментов с полями. В этом случае основная нагрузка будет на классические структуры а все эксперименты с дополнительными полями будут по сути отдельно.
    В случае если какое-то из экспериментальных дополнительных полей в последствии станет очень нужным и всем необходимым - то никто не мешает зарефакторить структуру БД и перенести это поле в основные таблицы....
    Ответ написан
    Комментировать
  • Сайт с упражнениями по SQL?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Полностью поддерживаю вариант sql-ex.ru
    Там есть и схемы баз и тестовые данные и очень неплохие обсуждения по всем задачкам.
    Задачки идут по возрастанию сложности. Есть и просто SQL есть и задачки на оптимизацию и скорость выполнения запросов. И описание способов решения приложу: www.sql-tutorial.ru/sqlbook/ru
    Ответ написан
    Комментировать
  • Как хранить абстрактные модели данных в реляционных БД?

    DimonSmart
    @DimonSmart
    Kaspersky Lab Developer
    Есть классический антипаттерн, EAV Entity Attribute Value
    www.sql.ru/forum/1110351/esli-nuzhna-gibkaya-shema...
    С академической точки зрения очень интересный принцип хранения.
    НО есть много НО

    На хабре была очень подробная статья с подробностями работы с EAV базами. На хабре была в кэше гугла ещё есть: https://webcache.googleusercontent.com/search?q=ca...

    Дополню ответ очень хорошей и просто обязательной к прочтению статьёй с довольно подробным и хорошим описанием теории построения EAV структур. (Кстати в самой статье слово EAV не используется) ООП в РСУБД
    Ответ написан
    3 комментария