Нарушает ли кусок кода принцип Единства ответственности? - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Подскажите, кто знает... Искал и читал объяснения принципов SOLID, но вот четкого ответа на свой вопрос не нашел пока что. А вопрос такой: Есть кусок кода:
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();          
        }
Является ли вызов функции/процедуры внутри другой процедуры принцип Единства ответственности? Смотрите... Если изменится логика процедуры "DelPacient", то придется вносить изменения в описанную выше функцию. Тоже самое касается изменения логики процедуры ShowJurnalToday. А вообще описанная процедура необходима для удаления выбранного пациента, которая выполняется внутри процедуры DelPacient в которой описан доступ на уровне БД к записям. Описанная процедура по коду делает следующее: удаляет запись, информирует пользователя и обновляет экран. Мне кажется, что очень много обязанностей?! Как считаете? Стоит ли мне убрать из описываемой процедуры информирование и обновление экрана?

Решение задачи: «Нарушает ли кусок кода принцип Единства ответственности?»

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;
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы