Нарушает ли кусок кода принцип Единства ответственности? - C#
Формулировка задачи:
Доброго времени суток!
Подскажите, кто знает... Искал и читал объяснения принципов SOLID, но вот четкого ответа на свой вопрос не нашел пока что. А вопрос такой: Есть кусок кода:
Является ли вызов функции/процедуры внутри другой процедуры принцип Единства ответственности?
Смотрите...
Если изменится логика процедуры "DelPacient", то придется вносить изменения в описанную выше функцию. Тоже самое касается изменения логики процедуры ShowJurnalToday. А вообще описанная процедура необходима для удаления выбранного пациента, которая выполняется внутри процедуры DelPacient в которой описан доступ на уровне БД к записям.
Описанная процедура по коду делает следующее: удаляет запись, информирует пользователя и обновляет экран. Мне кажется, что очень много обязанностей?! Как считаете? Стоит ли мне убрать из описываемой процедуры информирование и обновление экрана?
void УдалитьЗаписьToolStripMenuItemClick(object sender, EventArgs e) { //MessageBox.Show(dataGridView1[4, dataGridView1.CurrentRow.Index].Value.ToString()); string PacientFIO=dataGridView1.CurrentCell.Value.ToString(); //string DataPriema=DateTime.Now.ToShortDateString();//+" "+DateTime.Now.ToLongTimeString(); DelPacient(PacientFIO); MessageBox.Show("Выбранный пациент удален успешно","Журнал приема пациентов",MessageBoxButtons.OK,MessageBoxIcon.Information); ShowJurnalToday(); }
Решение задачи: «Нарушает ли кусок кода принцип Единства ответственности?»
textual
Листинг программы
public DataTable SearchInDBMedKartaOnDate(string MedKartaforSearch, string OnDate) { sql_con.Open(); DB = new SQLiteDataAdapter(@"SELECT * FROM PRIEMVIEW1 where Pacient_Medkarta LIKE'"+MedKartaforSearch+"%'",sql_con); DS.Reset(); DB.Fill(DS); DT= DS.Tables[0]; sql_con.Close(); DB.Dispose(); DT.Dispose(); DS.Dispose(); sql_con.Dispose(); return DT; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д