Мне нужны комментарии от экспертов. Я пишу свой собственный класс помощника SQL для связи с БД.
Почему я использую это, потому что я пытаюсь
- Инкапсулировать логику Ado.Net.
- Попробуйте установить общий стандарт для моего разработчика с точки зрения кодирования DAL.
- Гибкий и простой в использовании.
- Тот же тип кодового блока для подхода с использованием блоков кода SQL Server / Oracle / Access / Excel / Generic Database (SQL Server & Oracle) e.t.c.
- Plug & Play или многоразовый подход.
С точки зрения оптимизации кода
- Этот вспомогательный класс или сборка соответствует CLS.
- Успешно прошел FxCop / Статический анализ кода.
Я даю вам пример блока кода (DAO). Пожалуйста, проверьте ниже
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
#region include SQL Helper Namespace
using DBManager;
#endregion
#region include SQL Helper Namespace
using DBManager;
#endregion
namespace ContentManagementSystem.DataAccessLayer
{
/// <summary>
///
/// </summary>
public sealed class DaoContentOwner : DataAccessBase
{
#region CONSTRUCTOR
/// <summary>
///
/// </summary>
private DaoContentOwner()
{
GetInstance = new DaoContentOwner();
}
#endregion
//############################################# M E T H O D S ##########################
#region Retrieve Content Owner
/// <summary>
/// Retrieve Content Owner
/// </summary>
/// <returns></returns>
public static DataTable RetrieveContentOwner()
{
DataTable dt = null;
try
{
using (DBQuery dq = new DBQuery("stpGetContentOwner"))
{
dt = dq.ResultSetAsDataTable();
return dt;
}
}
catch (Exception)
{
throw;
}
finally
{
if (dt != null)
{
dt.Dispose();
}
}
}
#endregion
//############################################# P R O P E R T Y ########################
#region READ ONLY PROPERTY
/// <summary>
/// GetInstance of DaoContentOwner Class
/// </summary>
public static DaoContentOwner GetInstance { get; private set; }
#endregion
}
}
Обоснование:
" DataAccessBase " Это абстрактный класс. Реализуйте IDisposable интерфейс.
" DBQuery " - это Помощник SQL для Только для SQL Server . Это Запечатанный класс. Он принимает T-SQL / SP в соответствии с потребностями. Откройте закрытое соединение с базой данных. Нет необходимости разбираться с разработчиками.
Почему я создаю DAO Singleton Class, потому что все мои методы в DAO - это статический метод. Заказываю на оптимизацию памяти делаю это Singleton. Это также принцип дизайна.
Примечание: Нуждаются в комментариях. Нужно ли менять дизайн или что-то не так, что нужно исправить.