| Комментарии на страничке Братухина Андрея | |
| Ум ленивее чем тело. Ларошфуко |
|
Новости
1 февраля 2006 г.
25 января 2006 г. АрхивИюнь 2006 г.Май 2006 г. |
Мои комментарии
Управление бизнес-правилами24 мая 2006 г.Выдержка из Delegates And Business Objects. Пример бизнес-правила: Название учетной записи не должно быть пустым и не должно превышать 20 символов. И вот простая реализация:
public string Name
{
get { return _name; }
set
{
if (value == null
|| value.Trim().Length == 0
|| value.Trim().Length > 20)
{
throw new ArgumentException("Account names can't be blank, and can't be
longer than 20 characters.");
}
_name = value;
}
}
Рассмотрим недостатки этого решения:Теперь рассмотрим вариант решения выше изложенных проблем:
public string Name {
get { return _name; }
set { _name = value; }
}
protected override List(Rule) CreateRules() {
List(Rule) rules = base.CreateRules();
rules.Add(new SimpleRule("Name", "An account name is required and cannot be left blank.",
delegate { return this.Name.Length != 0; }));
rules.Add(new SimpleRule("Name", "Account names cannot be more than 20 characters in length.",
delegate { return this.Name.Length (= 20; }));
return rules;
}
Теперь осталось реализовать простую функцию проверки состояния объекта.Если в класс добавить реализацию интерфейса IDataErrorInfo, то для обработки правил на уровне GUI потребуется намного меньше усилий. Компонента DataGridView сама вызывает этот интерфейс, а для остальных контролов можно использовать ErrorProvider.
NUnit 2.4 alpha23 мая 2006 г.Вышел NUnit 2.4 alpha. Добавлен очень полезный assert - CollectionAssert с поддержкой следующих возможностей: - AllItemsAreNotNull; - AllItemsAreUnique; - Contains; - IsEmpty; - IsSubsetOf/IsNotSubsetOf;
Windows Vista20 мая 2006 г.Microsoft определилась с требованиями к аппаратному обеспечению для Vista. Читаем на ZDNet.ru
Сохранение сессии в ASP.NET20 мая 2006 г.Полезный способ сохранения данных для сессии ASP.NET, используя CallContext. Читаем... |
| Copyright © 2004-2006 Bratuhin Andrey. All rights reserved. | Последние изменения: 02 июля 2006 г. |