Я нахожусь в проекте, в котором я не вижу смысла, как предыдущий разработчик принял решения.n-tier C# applicaiton с методами BAL и DAL с точно такими же именами (подписи и т. Д.)
- же точные имена методов в DAL и БАЛ
- Статика ВЕЗДЕ
- что я должен делать с новыми методами следовать рекомендациям?
пример существующего кода:
Вызов Appliction (может быть консольного приложения или веб-приложение и т.д .. агностик)
DataSet DS = CreditMgr.GetCreditRqstInfo(ddlGEO.Text);
BAL
public class CreditMgr
{
public static DataSet GetCreditRqstInfo(String GeoID)
{
try
{
DataSet DS = new DataSet();
DS = CreditIntfDB.GetCreditRqstInfo(GeoID);
return DS;
}
catch (Exception ex)
{
throw ex;
}
}
}
DAL
public class CreditIntfDB
{
public static DataSet GetCreditRqstInfo(String GeoID)
{
try
{
Database DB = new SqlDatabase(Common.ConnectionString);
String SQLCommand = Common.SPGetRqstInfo;
DbCommand DBCommand = DB.GetStoredProcCommand(SQLCommand);
DBCommand.CommandTimeout = Common.CommandTimeOut;
DB.AddInParameter(DBCommand, "@a_geo_id", DbType.String, GeoID);
DataSet DS = new DataSet();
DB.LoadDataSet(DBCommand, DS, new String[] { "CreditRqstInfo" });
return DS;
}
catch (Exception ex)
{
throw ex;
}
}
}
Да, все дело в том, чтобы иметь слои разделения, но когда используются одни и те же имена методов, и статические, и каждый просто делает то же точную вещь с переходом в строку и возвращает DataSet имеет «код запаха» для меня
Предложения по лучшим способам?
Даже если имена совпадают, если вы могли бы суффикс с 'BAL' или' DAL' было бы легко идентифицировать , Я уверен, что пространство имен показывает, принадлежал ли класс 'BAL' или' DAL'. – Venky
Да, код плохой, но каков ваш вопрос? 'catch (Exception ex) {throw ex; } 'ughhh. – Blorgbeard
Это может быть более подходящим для [Обзор кода стека Exchange] (https://codereview.stackexchange.com/). В общем, я согласен с вами - слои ради слоев - это не хороший дизайн. Каждому слою нужна цель; каждый класс нуждается в ответственности. Если у вас нет какой-либо значимой бизнес-логики, тогда BAL не может быть ценным для вашего дела. –