Впросы новичка
От: LaptevVV Россия  
Дата: 24.04.16 08:21
Оценка: -1 :)))
Решил я тут намедни Дотнет с Додиезом и прочими ВПЭФами освоить.
Пенсионер жеж — для собственного удовольствия...

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

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

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

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

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

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

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