Temiz Kod tavsiyesi

Kendim şöyle bir kodlama prensibiyle gidiyorum sizce yol/mantık nasıl ?

Bu ana formum

 private void btnKaydet_Click(object sender, EventArgs e)
        {
            veritabani = new Veritabani();
            veritabani.Baslat(true);
            veritabani.Sorgu = "INSERT INTO TEST_MUSTERILER(adi,bakiye) VALUES('" + txtAd.Text + "'," + txtBakiye.Text + ")";
            if (veritabani.Calistir())
            {
                veritabani.Uygula();
                this.Text = "İşlem Başarılı , Kayıt SAyısı =" + veritabani.IslemSatirSayisi;
            }
            else
            {
                veritabani.GeriAl();
                this.Text = "İşlem Başarısız";
            }
            veritabani.Bitir();
        }

Bu Veritabanı classım

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;

namespace DB_OOP_v1
{
    class Veritabani
    {
        string baglantiYolu = baglantiYolum
        string sorgu;

        public string Sorgu
        {
            get { return sorgu; }
            set { sorgu = value; }
        }
        SqlConnection baglanti;
        SqlDataAdapter dAdap;
        SqlCommand komut;
        SqlTransaction transaction;
        DataTable tablo;
        int islemSatirSayisi;

        public int IslemSatirSayisi
        {
            get { return islemSatirSayisi; }
            set { islemSatirSayisi = value; }
        }
        public DataTable Tablo
        {
            get { return tablo; }
            set { tablo = value; }
        }
        bool isTransaction = false;
        public void Baslat(bool _isTransaction)
        {
            isTransaction = _isTransaction;
            try
            {
                baglanti = new SqlConnection(baglantiYolu);
                baglanti.Open();
                komut = new SqlCommand();
                komut.Connection = baglanti;
                if (isTransaction)
                {
                    transaction = baglanti.BeginTransaction();
                    komut.Transaction = transaction;
                }
            }
            catch (Exception ex)
            {
                Logger.LogTut(ex.ToString(), "SQL");
            }
        }
        public void Uygula()
        {
            try
            {
                if (baglanti.State == ConnectionState.Open && isTransaction)
                {
                    transaction.Commit();
                }
            }
            catch (Exception ex)
            {
                Logger.LogTut(ex.ToString(), "SQL");
            }
        }
        public void GeriAl()
        {
            try
            {
                if (isTransaction)
                {
                    transaction.Rollback();
                }
            }
            catch (Exception ex)
            {
                Logger.LogTut(ex.ToString(), "SQL");
            }
        }
        public bool Calistir()
        {
            try
            {
                if (baglanti.State == ConnectionState.Open)
                {
                    komut.CommandText = sorgu;
                    islemSatirSayisi = komut.ExecuteNonQuery();
                    if (islemSatirSayisi > 0)
                        return true;
                    else
                        return false;
                }
                else
                {
                    return false;
                }
            }
            catch (Exception ex)
            {
                Logger.LogTut(ex.ToString(), "SQL");
                return false;
            }

        }
        public void Getir()
        {
            try
            {
                if (baglanti.State == ConnectionState.Open)
                {
                    if (!isTransaction)
                    {
                        dAdap = new SqlDataAdapter(sorgu, baglanti); 
                    }
                    else
                    {
                        komut.CommandText = sorgu;
                        dAdap = new SqlDataAdapter();
                        dAdap.SelectCommand = komut; 
                    }
                    tablo = new DataTable();
                    dAdap.Fill(tablo);
                }
            }
            catch (Exception ex)
            {
                Logger.LogTut(ex.ToString(), "SQL");
            }

        }
        public void Bitir()
        {
            try
            {
                if (baglanti.State == ConnectionState.Open)
                {
                    baglanti.Close(); 
                }
            }
            catch (Exception ex)
            {
                Logger.LogTut(ex.ToString(), "SQL");
            }
        }
    }
}

Bu da log classım

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Data.SqlClient;

namespace DB_OOP_v1
{
    class Logger
    {
        static public void LogTut(string hataMetni,string hataTuru)
        {
            try
            {
                int islemSayisi = 0;
                DateTime tarih = DateTime.Now;
                try
                {
                  
                    string baglantiYolu = baglantiYolum
                    string sorgu = "";
                    SqlConnection baglanti;
                    SqlCommand komut;
                    baglanti = new SqlConnection(baglantiYolu);
                    baglanti.Open();
                    sorgu = "INSERT INTO TEST_HATALAR(tarih,hata_turu,hata_metni) VALUES('"+tarih.Year.ToString()+"."+tarih.Month.ToString()+"."+tarih.Day.ToString()+" "+tarih.ToShortTimeString()+"','" + hataTuru + "','" + hataMetni.Replace("'"," ") + "')";
                    komut = new SqlCommand(sorgu, baglanti);
                    islemSayisi = komut.ExecuteNonQuery();
                    baglanti.Close();
                }
                catch  
                {
                     
                }
                if (islemSayisi == 0)
                {
                    string dosyaYolu = "LOGS";
                    Directory.CreateDirectory(dosyaYolu);
                    dosyaYolu += "\\" + tarih.Year.ToString().PadLeft(4, '0') + "_" + tarih.Month.ToString().PadLeft(2, '0') + "_" + tarih.Day.ToString().PadLeft(2, '0') + "_ERROR_FILE.TXT";
                    StreamWriter yazici = new StreamWriter(dosyaYolu, true);
                    string logMetni = "HATA TÜRÜ = " + hataTuru + Environment.NewLine;
                    logMetni += "TARİH     = " + tarih.ToString() + Environment.NewLine;
                    logMetni += "HATA      = " + hataMetni + Environment.NewLine;
                    logMetni += "========================================================================================" + Environment.NewLine;
                    yazici.Write(logMetni);
                    yazici.Close();
                }
            }
            catch  
            {
                 
            }
            
        }
    }
}