Записи с тегом «гайдлайн»
Паттерны организации кода в JavaScript (памятка)
Более двух лет назад был написан сниппет «Паттерны организации кода на чистом JavaScript, JQuery и Prototype». За это время многое изменилось, сегодня выкладываю обновление в виде памятки по самым популярным способам создания reusable component'ов отсортированных от простого к сложному (в случае, если не нашел устоявшегося названия — пришлось придумать своё):
Чистый JavaScript без фреймворков
- Object Literal
- function constructor + object prototype (пример «Чистый JavaScript без использования фреймворков» в старом посте)
- Javascript Module Pattern
- Resig's Simple Inheritance (по результирующему синтаксису очень похож на подход Prototype)
jQuery
- «Минимальный» плагин (пример «jQuery» в старом посте)
- «Сбалансированный» плагин (мой пример в сниппете Шаблон jQuery-плагина, как оказалось, очень похож на jQuery Boilerplate)
- «Плагин с использование паттерна Bridge»
- jQuery UI widget factory (развитие подхода из предыдущего пункта)
Отображение одного блока над другим с помощью jQuery
Быстрое решение (оригинал) для позиционирования одного блока на другим, упрощённый аналог Position из jQuery UI.
Перенос кода Global.asax в папку App_Code
При использовании модели ASP.NET приложения Web Site Project удобно хранить весь C#-код (кроме code-behind) в папке App_Code. Генерируемый же по умолчанию файл Global.asax помещается в корень сайта и содержит C# код.
Шаблоны e-mail сообщений в ASP.NET
Задача подготовки е-мейл сообщений на основе шаблонов в ASP.NET оказывается нетривиальной. Среди вариантов решения: использование стороннего шаблонизатора, использование XSLT. Но, если ASP.NET — тоже шаблонизатор, пусть и весьма специфический, почему бы не поручить работу по подготовке е-мейлов ему?
«Пустые» адреса для ссылок с JavaScript-обработчиками
В идеальном веб-приложении :) каждая ссылка, для которой указан JavaScript-обработчик клика должна вести на страницу, позволяющую сделать то же самое действие, но без использования JavaScript. В реальности всё же иногда нужны ссылки, главное предназначение которых — быть элементами интерфейса, реализованного с помощью клиентских скриптов.
Паттерны организации кода на чистом JavaScript, JQuery и Prototype
Обновление от 27.11.2011: Доступно обновление для этого сниппента :)
Гибкость языка JavaScript имеет обратную сторону — не существует единого способа создания т.н. reusable component'ов. В традиционных объектно-ориентированных языках подобные решения принимаются создателями языка, например, путём введения в язык неймспейсов, классов и интерфейсов.
SEF-адреса в ASP.NET 2.0 WebForms на IIS6: полное решение (работающий postback, ASP.NET AJAX)
Задача реализации «красивых» URL (вида /catalog/notebooks/asus/) в ASP.NET 2.0 приложении, работающем на IIS6 требует
нескольких дополнительных действий.
Варианты соглашений по именованию объектов в БД
Несколько разных схем именования объектов в БД. Для примера будет взята база гипотетического блога, хранящая информацию о следующих сущностях: записях (posts), категориях (category) и пользователях (users). Один пост может попадать в одну или несколько категория (связь many-to-many), у одного поста всегда один автор (связь one-to-many).
Элементы шаблонов в ASP.NET WebForms, нетривиальный data binding
WebForms задумывался для создания кода, обрабатывающего события пользовательского интерфейса, однако
в некоторых случаях бывает необходимо отойти от этой парадигмы и использовать кодовые вставки <%...%> в .aspx-файлах
почти в стиле ASP.NET MVC.
Встроенные компоненты, использущие т.н. data binding тоже иногда заставляют задуматься :)
