ORM своими руками (часть вторая)

August 19th, 2009

В предыдущей части мы написали парочку своих аттрибутов, с помощью которых описали маппинг C# класса на таблицу базы данных. Дальше возьмем Reflection и Generic механизмы .NET и напишем класс, который будет являться CRUD контроллером наших сущностей. Для того чтобы класс работал побыстрее, парсинг метаданных вынесен в конструктор, и заглушкой в этой реализации является один метод - ResolveConnection(). Его можно сконфигурировать как в NHibernate классом-конфигуратором, либо впрыскиванием зависимости DbProviderFactory и строки подключения, но это вопросы лишь архитектуры, и я думаю у мало-мальски толкового разработчика будет много идей на этот счет.

Read more…

.NET development

ORM своими руками

August 19th, 2009

Как известно, программисты с давних пор пытаются упростить слой работы с базами данных и используют различные ORM. ORM имеют как достоинства так и недостатки, но цель статьи не описать их, а написать простенький ORM с описанием основных подходов в этом деле. Мир .NET пестрит разными реализациями, список доступных ORM для .NET можно посмотреть например здесь: .NET ORM List. Что будет уметь наш маппер? Работать с различными БД (первоначально тестирован на MS SQL и MS Access), использовать как простые так и составные первичные ключи, обеспечивать оптимистическую блокировку при многопользовательской работе, получать значения автоинкрементных полей и счетчиков автоматически. Ну и может являться платформой для собственных изысканий :) Что НЕ реализовано: маппинг полиморфных моделей (ни в одном из 3-х подходов), оптимистические блокировки timestamp, маппинг связанных сущностей, поздняя загрузка и т д.

Read more…

.NET development

Flex Builder + SVN

July 22nd, 2009

Давно пользуюсь таким продуктом как subclipse (плагин к Eclipse для системы контроля версий SVN), да и вобще, люблю когда всякие Perforce, Vault, SVN, и т д “сидят” прямо в IDE. Однако где-то с пол-года назад, когда я установил новую версию TurtoiseSVN 1.6.*, а subclipse стоял 1.4, увы, они не подружились. Пришлось удалять 1.6 ставить 1.4.

Сегодня заглянул на http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA, и понял что я отстал от жизни: Links for 1.6.x Release

PS: Для тех кто никогда не инсталлировал - инструкция в картинках по ссылке выше.

Flex, Air

Sony Ericson W-995

July 2nd, 2009

Заказчик задеплоил мое небольшое Flex приложение, приятно :)

Посмотреть можно тут: http://www.sonyericsson.com/cws/products/mobilephones/overview/w995?lc=en&cc=gb#layerid=enhancedproductpresentation_showtime

Flex, Air

Турция/Кемер/Orange County/Небольшой фотоотчет

June 15th, 2009

Случайно получилось отдохнуть :) 10 дней - море, отдых, все включено и никаких проблем. Под катом немного фотографий.

Read more…

Ни туда ни сюда

TextArea - скроллирование

May 20th, 2009

Хороший класс TextArea, и API у него неплохой, можно проскроллировать вниз, например так:

textArea.verticalScrollPosition = textArea.maxVerticalScrollPosition;

А что если надо позицию установить таким образом, чтобы был виден определенный текст ? Найти позицию текста поможет indexOf(), а вот со скроллированием уже хуже. Под катом класс который немного расширяет стандартный TextArea и позволяет это сделать.

Read more…

Flex, Air

SWFLoader & display progress

May 6th, 2009

Flex разработчики часто используют SWFLoader для загрузки изображений и swf роликов, а заказчики в свою очередь часто хотят чтобы пользователь видел прогресс загрузки содержимого. Нельзя с ними не согласиться, если грузить толстую анимацию по 4-5 метров без всяких признаков жизни приложения и надежды на завершение :)

Кому лень писать, можно воспользоваться классом ProgressSWFLoader который отображает загруженные проценты и рисует красивый прогресс-бар.

Дальше код

Flex, Air

Наклейка

April 27th, 2009

Есть еще одна наклейка как на картинке. Любителю технологии Flex будет выдана безвозмездно в городе Днепропетровске для применения по целевому назначению :)

Ни туда ни сюда

Flex Builder & Ant

April 20th, 2009

Как известно, компания Adobe для сборки Flex продуктов предлагает пользоваться Ant. Если пользоваться плагином к Eclipse - проблем нет, а вот в Flex Builder он напрочь отсутствует.

Вот здесь (http://blog.jodybrewster.net/2008/04/09/installing-ant-in-flex-builder-3/) описанно как это сделать.

Read more…

Flex, Air

NumericUpDown и ленивый пользователь

April 15th, 2009

“Есть такие пирамидки… когда в голову ничего не лезет, посмотришь на нее - и сразу нужные мысли находятся!” - м/с Смешарики, Крош.

Так вот, к чему это я: есть такие пользователи, которым все равно какой разделитель целой и дробной части используется в текущей культуре, им понимаешь ли хочеться и точка и запятая одновременно. А желание пользователя очень часто превращается в закон для разработчика после безуспешных попыток переубедить его.

Многострадальным контролом которому выпало имплементировать это требование, оказался представитель Windows.Forms - NumericUpDown.

Read more…

.NET development

31523 pages viewed, 35 today
17771 visits, 32 today
FireStats icon Powered by FireStats