Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «ооп»
Экзоскелет — быстрая и современная замена Backbone 2013-10-24 05:10:22
Так как в последний год не приходилось делать приложения на Backbone.js для старых (IE8<=) ...
+ развернуть текст сохранённая копия
Так как в последний год не приходилось делать приложения на Backbone.js для старых (IE8<=) браузеров, появилась мысль “а что, если совсем выкинуть все зависимости из Бэкбона? Станет ли круче?”
Стало.
Читать дальше →
Тэги: applications, backbone, backbone.js, chaplin, html5, javascript, mvc, web, веб-разработка, ооп
[Из песочницы] Active Record против Data Mapper-а для сохранения данных 2013-10-21 20:16:05
Эти 2 шаблона проектирования описаны в книге Мартина Фаулера «Шаблоны корпоративных приложений» и ...
+ развернуть текст сохранённая копия
Эти 2 шаблона проектирования описаны в книге Мартина Фаулера «Шаблоны корпоративных приложений» и представляют собой способы работы с сохранением данных в объектно-ориентированном программировании.
Пример шаблона Active Record
class Foo
{
protected $db;
public $id;
public $bar;
public function __construct(PDO $db)
{
$this->db = $db;
}
public function do_something()
{
$this->bar .= uniqid();
}
public function save()
{
if ($this->id) {
$sql = "UPDATE foo SET bar = :bar WHERE id = :id";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->bindParam("id", $this->id);
$statement->execute();
}
else {
$sql = "INSERT INTO foo (bar) VALUES (:bar)";
$statement = $this->db->prepare($sql);
$statement->bindParam("bar", $this->bar);
$statement->execute();
$this->id = $this->db->lastInsertId();
}
}
}
//Insert
$foo = new Foo($db);
$foo->bar = 'baz';
$foo->save();
В этом упрощенном примере, дескриптор базы данных вводится в конструкторе Foo (Использование инъекции зависимостей здесь позволяет тестировать объект без использования реальной базы данных), и Foo использует его, чтобы сохранять свои данные. Do_something — просто метод-заглушка, заменяющий бизнес логику. Читать дальше →
Тэги: active, data, mapper, oop, orm, patterns, php, record, ооп, переводы
Палестинский народ появился после 1983 года? 2013-08-25 10:01:30
В 1983 году палестинцев ещё не существовало. Дальше
+ развернуть текст сохранённая копия
В 1983 году палестинцев ещё не существовало. Дальше
Тэги: 1983, марка, народ, ооп, палестинский, политика, ссср, филателия, цфа
[Из песочницы] Backstreet Access To Intersystems Cache' 2013-06-14 13:46:22
+ развернуть текст сохранённая копия
Рад приветствовать Вас!
Тэги: cache, cache', intersystems, web, zen, веб-разработка, знакомство, ооп, разработка, субд
Встраивание своей классовой структуры в проект на CodeIgniter 2013-05-05 18:56:23
Доброго времени суток, товарищи.
В этом посте расскажу о том, как обойти ограничения, ...
+ развернуть текст сохранённая копия
Доброго времени суток, товарищи.
В этом посте расскажу о том, как обойти ограничения, которые накладывает фреймворк на разработчика, при этом оставив за собой возможность воспользоваться его функциональностью.
Проблема
Я занимаюсь разработкой ресурса для кросс-постинга в социальные сети. Изначально продукт был предназначен только для Вконтакте и Facebook и для работы с API было выделено по одному контроллеры и по одной модели, плюс модель для работы с cURL. Пока была необходимость работать только с двумя социальными сетями такая классовая структура проекта не выглядела удручающей. Но стоило добавить работу ещё с несколькими соц. сетями, стало очевидно что такая модель ведёт к хаосу и полному бардаку как на стороне работы с API так и на стороне клиента. Чего стоит ветвление из 10 else if для просмотра данных пользователя или 10 ajax запросов для отправки сообщений в социальные сети. Было принято решение отрефакторить весь этот ужас, воспользовавшись паттерном Фабрика. Всё представлялось просто: описываем интерфейс с общим функционалом работы с API, делаем фабричный класс и единственный контроллер, который будет реквайрить фабричный класс. Но как только начали переносить функционал на новую парадигму, нас осенило. Вся работа в бд, пользовательскими данными, логами и https держится на CI моделях и библиотеках. Тут то я понял как был неправ, когда писал в курсовой что CodeIgniter не накладывает ограничений на разработчика — ещё как накладывает. Стоит немного шагнуть в своём решении за рамки модели MVC, возникает проблема — как включить это решение в проект.
Решение
Тэги: codeigniter, oop, php, объект, ооп, паттерны, фабрика
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
Главная / Главные темы / Тэг «ооп»
|
Взлеты Топ 5
Падения Топ 5
|