текст из комментария — «Средняя цена» будет использоваться для отображаемого имени кнопки
если в комментарии поменять «Средняя цена» на «Некоторая цена» — то на кнопке будет «Некоторая цена»
При этом для локализации можно редактировать не исходный код, а файл с xml-комментариями
Что значит бесполезен?
Он может быть простым переводом, но при этом он используется в отображении кнопки
Кроме того, последующие строки могут быть использованы для ToolTip-а
Google Talk-а не будет?
в оригинале «the mobile web app for Google Talk» — надеюсь его не будет только для телефонов, а в десктопном браузерном Gmail он останется.
Ваш личный менеджер подтвердит актуальность тура и перезвонит вам. Потом вы сможете оплатить ваш тур любым из способов:нее… всё равно надо созваниваться и всё такое.
Надеялся что будет так: что нажимаю, продолжить, говорят — блабла, тур зарезервирован, 15 минут на оплату картой.
Отличные панорамы!
Но на небе вполне видно виньетирование (выражается в волнообразности темно-светло), а не пробовали использовать профили коррекции линз для избавления от этого артефакта?
действительно, задача очень даже типовая и встречается часто, и вот как бы я её решил:
1. Выделил бы интерфейс для сущностей в которых необходимо кэшировать ник/имя
public interface IWithCachedUser
{
/// <summary>Ссылка на пользователя</summary>
User User { get; set; }
/// <summary>Имя пользователя (для кэширования)</summary>
string UserName { get; set; }
/// <summary>Ник</summary>
string UserNick { get; set; }
}
2.Написал бы простой код проставляющий значения этих полей:
public class CacheUserEvent<TEntity> : IEntityEvent<TEntity>
where TEntity : EntityBase, IWithCachedUser
{
public void AfterSave(TEntity item)
{
item.UserName = item.User.Name;
item.UserNick = item.User.Nick;
}
}<source>
Теперь для всех классов, реализующих этот интерфейс есть кэширование и не обязательно делать джойны.
А если вам надо перебрать к примеру 1000 записей в цикле, вы что, будете (неявно) создавать 1000 объектов, читать данные из БД и вызывать 1000 * 20 сеттеров?
Если эти объекты невозможно обработать запросом, то в любом случае они будут загружены в память.
При этом мы можем сделать выборку только нужных (например 3-4 полей вместо 20).
События
Они на то и события, чтобы указывать возможность выполнить код.
Для зависимых полей у нас тоже есть решение, виртуальные поля
может выглядеть например так:
/// <summary>
/// Выражение для поля суммы
/// </summary>
private Expression<Func<RentOfferBase, decimal>> SummExpression = a => a.Price * a.Count;
/// <summary>
/// Сумма
/// Вычисляемое поле
/// </summary>
[VirtualField("SummExpression")]
public decimal Summ { get; set; }
Там, где классический разработчик напишет 1-2 простых запроса без джойнов, ORM нагенерирует такое
К сожалению, классические разработчики не всегда узнают о новых возможностях, например появился в SQL server новый способ выполнить эффективнее запрос, мы «обучаем» делать это ORM и он везде где может применяет это, не забывая, не требуя времени на исправления во всех местах.
1. Так у нас тоже не надо думать какой сгенерится sql
2. C# — это не только SQL, но и вся мощь ООП
3. Очень спорный момент, и может подпортить много нервов и админу и разработчику и не только
5. А вы попробуйте ;)
Отличная штука!
Когда-то тоже думал о похожей программе/сервисе
Чего не хватает лично мне для полного счастья:
Показывания слова в контексте
Клиента для андроида/iOS
Для чего хочу использовать:
Смотрю фильм на английском с субтитрами.
Загружаю субтитры.
Показываются незнакомые слова.
Когда что-то непонятно — могу легко их посмотреть, увидеть понять что они значат в контексте.
если в комментарии поменять «Средняя цена» на «Некоторая цена» — то на кнопке будет «Некоторая цена»
При этом для локализации можно редактировать не исходный код, а файл с xml-комментариями
Он может быть простым переводом, но при этом он используется в отображении кнопки
Кроме того, последующие строки могут быть использованы для ToolTip-а
Где CombineWithHashOf преобразует каким-то хитрым образом идентификатор исключения для учета сообщения о превышении.
Исключение — вы превышаете лимит операции на 10 рублей, продолжить?
в этот момент, другой пользователь добавляет каких-то данных, так что лимит начинает превышаться на 100 000 рублей.
При этом, после нажатия на продолжить, система не обратит внимание на то что лимит уже превышен не на 10 а на 100 000.
в оригинале «the mobile web app for Google Talk» — надеюсь его не будет только для телефонов, а в десктопном браузерном Gmail он останется.
Надеялся что будет так: что нажимаю, продолжить, говорят — блабла, тур зарезервирован, 15 минут на оплату картой.
Но на небе вполне видно виньетирование (выражается в волнообразности темно-светло), а не пробовали использовать профили коррекции линз для избавления от этого артефакта?
А это законно?
А в 2013 году надо будет добавлять ещё один год?
1. Выделил бы интерфейс для сущностей в которых необходимо кэшировать ник/имя
2.Написал бы простой код проставляющий значения этих полей:
Если эти объекты невозможно обработать запросом, то в любом случае они будут загружены в память.
При этом мы можем сделать выборку только нужных (например 3-4 полей вместо 20).
Они на то и события, чтобы указывать возможность выполнить код.
Для зависимых полей у нас тоже есть решение, виртуальные поля
может выглядеть например так:
К сожалению, классические разработчики не всегда узнают о новых возможностях, например появился в SQL server новый способ выполнить эффективнее запрос, мы «обучаем» делать это ORM и он везде где может применяет это, не забывая, не требуя времени на исправления во всех местах.
ваш вариант — писать его в процедурах
мой — в классах/методах
для валидации кода нужно будет выполнить выполнить этот код для каждой записи.
так чем же процедура удобнее метода?
2. C# — это не только SQL, но и вся мощь ООП
3. Очень спорный момент, и может подпортить много нервов и админу и разработчику и не только
5. А вы попробуйте ;)
от разработчика задача только описать класс сущности
1. Удаляем метро
2. Добавляем ЖЭК
3. Заполняем ЖЭК
Мы используем ReportingServices, который потребляет данные через XML источник данных.
Конкретно для суммы по комнатам — один метод
Когда-то тоже думал о похожей программе/сервисе
Чего не хватает лично мне для полного счастья:
Показывания слова в контексте
Клиента для андроида/iOS
Для чего хочу использовать:
Смотрю фильм на английском с субтитрами.
Загружаю субтитры.
Показываются незнакомые слова.
Когда что-то непонятно — могу легко их посмотреть, увидеть понять что они значат в контексте.