|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
||||||
Нарушает ли кусок кода принцип Единства ответственности?27.05.2016, 16:32. Показов 1629. Ответов 33
Метки нет (Все метки)
Доброго времени суток!
Подскажите, кто знает... Искал и читал объяснения принципов SOLID, но вот четкого ответа на свой вопрос не нашел пока что. А вопрос такой: Есть кусок кода:
Смотрите... Если изменится логика процедуры "DelPacient", то придется вносить изменения в описанную выше функцию. Тоже самое касается изменения логики процедуры ShowJurnalToday. А вообще описанная процедура необходима для удаления выбранного пациента, которая выполняется внутри процедуры DelPacient в которой описан доступ на уровне БД к записям. Описанная процедура по коду делает следующее: удаляет запись, информирует пользователя и обновляет экран. Мне кажется, что очень много обязанностей?! Как считаете? Стоит ли мне убрать из описываемой процедуры информирование и обновление экрана?
0
|
||||||
| 27.05.2016, 16:32 | |
|
Ответы с готовыми решениями:
33
Калькулятор: Рефакторинг, принцип единой ответственности Каждый день в течении апреля автомобилист нарушает или не нарушает правила дорожного движения...
|
|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
||
| 27.05.2016, 17:31 [ТС] | ||
|
принцип такой: создали, попользовались, удалили
0
|
||
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
|||
| 27.05.2016, 17:33 | |||
|
0
|
|||
|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
|
| 27.05.2016, 17:42 [ТС] | |
|
0
|
|
|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
||
| 27.05.2016, 17:45 [ТС] | ||
|
0
|
||
|
14727 / 9497 / 1362
Регистрация: 21.01.2016
Сообщений: 35,818
|
||
| 27.05.2016, 18:27 | ||
|
Ты с принципами SOLID экспериментируешь опираясь на какую-то статью в интернете или в книге вычитал? Просто тема уже на две страницы разраслась и, вроде как, шибко никуда не продвинулась. Рекомендую прерваться и почитать специализированную литературу. Я на этом форуме уже многих, наверное, достал рекомендациями этой книги. Но я сам её от корки до корки прочитал и очень сильно ценю. Не смотря на название, книга рассматривает принцип SOLID весьма основательно. Рекомендую.
0
|
||
|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
|
| 30.06.2016, 14:18 [ТС] | |
|
Форумчане, подскажите плиз варианты того, где можно хранить жестко фиксированные числовые и текстовые данные, к примеру имя отчета?
И еще один вопрос: Допустим, одной из функций программы является создание и сохранение отчетов в формате Excel. Я создаю следующий класс с атрибутами "Имя отчета", "Данные для отчета" и методами: "Создать отчет", "Показать отчет" и "Экспортировать отчет". Нарушает ли такой класс принципы ООП? (по сути все что он делает - это действия связанные с отчетом... Или нужно предусмотреть классы для создания, отображения и экспорта? Ведь экспортировать можно не только в Excel но и в простой файл, в Word...
0
|
|
|
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
|
|
| 30.06.2016, 15:38 | |
|
1. В общем-то не принципиально, всё зависит от того, что это за данные. У нас например в сайте куча строк хранится в коде, т.к. они должны быть именно такими. А есть ещё куча в отдельных файлах, которые при необходимости можно менять.
2. Данные, создать и экспортировать - нормально, а вот показать, как-то не вписывается сюда. По поводу экспорта, если тебе не нужно это делать в 100500 форматов, то можно сделать внутри перегрузку метода. Если форматов действительно много, то стоит задуматься о каком-то отдельном классе на основе интерфейса, которые будет делать экспорт, а уже в классе отчёта юзать интерфейс.
0
|
|
|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
||
| 30.06.2016, 15:43 [ТС] | ||
|
Интерфейс ExcelExportInterface в котором прописать экспорт в эксель?
0
|
||
|
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
|
||||||
| 30.06.2016, 17:29 | ||||||
|
JavaUser, интерфейс не имплементирует, он только описывает методы/свойства. Ты ведь понимаешь для чего они нужны?
Например можно сделать так:
1
|
||||||
|
73 / 73 / 28
Регистрация: 06.10.2013
Сообщений: 334
|
||||||
| 01.07.2016, 09:51 [ТС] | ||||||
|
Спасибо, BozKurt!
А можно еще уточнить, что должен делать и для чего нужен
Так как все описанные кроме него классы в принципе вопросов не вызывают.
0
|
||||||
|
307 / 284 / 102
Регистрация: 06.05.2014
Сообщений: 861
|
|
| 01.07.2016, 10:02 | |
|
JavaUser, название класса и наличие в нём полей Export и Report, тебе ни о чём не говорят?
0
|
|
| 01.07.2016, 10:02 | |
|
кусок кода кусок кода js
Переделеать кусок кода из с++ в с
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|