Информация об изменениях

Сообщение Re: Впросы новичка от 24.04.2016 12:31

Изменено 24.04.2016 12:37 AndrewVK

Здравствуйте, LaptevVV, Вы писали:

LVV>Решил я тут намедни Дотнет с Додиезом и прочими ВПЭФами освоить.

LVV>Пенсионер жеж — для собственного удовольствия...

LVV>Задачку себе выбрал: система психологического тестирования.

LVV>Потом студентам буду показывать процесс эволюционного развития системы и на паттерны показывать.
LVV>Чтобы одновременно не заморачиваться всем сразу, отложил работу с базой на попозже, и проектирование оконного интерфейса — тоже.
LVV>Тут просится паттерн прокси на место DB.

LVV>Основная часть сейчас — написать собственно тестилку.

LVV>Практически все тесты обрабатываются однотипно.
LVV>Поэтому первое, что автоматом сделал — паттерн Шаблонный метод.
LVV>Хотя Боб Мартин еще советует посмотреть в сторону Стратегии. Посмотрим. Пока неясны выгоды того и другого.
LVV>Шаблонный метод — очень понятный паттерн и в данном случае применяется просто в лоб.

LVV>У каждого теста есть набор вопросов.

LVV>И тестов этих много — ну, штук 200-300. Тут просится Фабрика — это понятно.

LVV>При писанине возникли некоторые вопросы к знатокам.

LVV>1. Список тестов.
LVV>Его легко сделать в виде обычного текстового файла.
LVV>Это чтобы можно было туда добавлять новые.
LVV>За каждой строкой "стоит" тест (объект в программе) и он имеет список своих вопросов.
LVV>Можно этот список вопросов запихать в файл и связать его имя со строкой в списке тестов.

LVV>Например:

LVV>1. Тест Кеттела = Q0001
LVV>2. Тест Айзенка = Q0002
LVV>Вот этот список тестов — в ресурсы запихать, или оставить как чисто простой текстовый файл?
LVV>Есть ли смысл в использовании ресурсов в данном случае?
LVV>Это ж тоже изучать в данном случае — Студия дофига кода генерит для ресурсов.

LVV>2. А когда тест выбран для работы, метод Initialization() просто читает в List<string> из соответствующего файла.

LVV>Или просто в лоб в коде присвоить имя файла?
LVV>В связи с этим: пока не совсем понятно, когда использовать свойства.
LVV>Вот например, для имени файла с вопросами использовать поле или свойство?

LVV>3. Нет опыта использования интерфейсов.

LVV>Когда использовать классы, когда интерфейсы (ну, кроме понятных случаев множественного наследования).
LVV>Боб Мартин паттерн Стратегия описывает как второй вариант решения одной и той же задачи.
LVV>И как раз описывает стратегию с помощью интерфейса.
LVV>А потом разные стратегии у него реализуются разными классами.

Вообще тут роли напрашиваются. Админ который будет добавлять в систему преподов. Преподы, которые будет добавлять тесты и студентов, ну студенты конечно. А так это как-то "сферично" и "ваккуумно".
Re: Впросы новичка
Здравствуйте, LaptevVV, Вы писали:

LVV>3. Нет опыта использования интерфейсов.

LVV>Когда использовать классы, когда интерфейсы (ну, кроме понятных случаев множественного наследования).
LVV>Боб Мартин паттерн Стратегия описывает как второй вариант решения одной и той же задачи.
LVV>И как раз описывает стратегию с помощью интерфейса.
LVV>А потом разные стратегии у него реализуются разными классами.

Вообще тут роли напрашиваются. Админ который будет добавлять в систему преподов. Преподы, которые будет добавлять тесты и студентов, ну студенты конечно. А так это как-то "сферично" и "ваккуумно".