четверг, марта 22, 2007

Как писать код для установки виджета

Код для установки виджета, это то, что веб-мастер вставит в свою страницу, что бы получить на ней виджет. Разрабатывая FeedКнопку пришел к такой схеме (эту схему использует AdSense):
Код состоит из двух тегов <script>. В первом теге в глобальные переменные устанавливаются параметры виджета. Второй тег подключает внешний .js-файл, содержащий JavaScript код, который генерирует HTML-код виджета.

Пример:
<script type="text/javascript"><!--
google_ad_width = 234;
google_ad_height = 60;
google_ad_format = "234x60_as";
google_ad_type = "text_image";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "0066CC";
google_color_text = "000000";
google_color_url = "666666";
//--></script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>


Огромный плюс этого метода в том, что в будущем можно изменять HTML-код виджета (который генерируется JavaScript'ом).

Ярлыки:

пятница, сентября 01, 2006

Data Access и Business Logic Layer для небольших приложений

Последнее время для разработки Data Access Layer использую provider pattern, а в Business Logic Layer создаю кучу entity-объектов. Все это вроде бы правильно, но для простых data-driven приложений такой подход за частую превращается в пустую трату времени, потому что эти навороты остаются не востребованными и только увеличивают количество строк кода (и, потенциально, количество ошибок).

Две статьи Creating a Data Access Layer и Creating a Business Logic Layer как раз россказывают о простейшем способе реализации этих layer'ов с использованием типизированного DataSet. В этом случае практически весь data access код будет сгенерирован мастерами. А благодаря тому что все сгенерированные классы имеют модификатор "partial", в них можно добавлять дополнительные business свойства и методы. Вместо entity-объектов я использую сгенерированные xxxRow классы.

Таким образом весь "каркас" генерится автоматически и мне только надо расширить его логикой приложения. Получается быстренько и расширяемо. Еще не пробовал, но мне кажется что потом, если нужно будет, то совсем не тяжело перейти, например, на provider-model.

 

P.S. конечно, объектная модель не выглядит такой элегантной как в случае если эти layer'ы разрабатываются в ручную, но для многих задач это и не надо.

Ярлыки: ,