> Каким боком сюда приплели ORM – непонятно. А вот PDO (и MySQLi) как раз панацея, поскольку SQL injection при их грамотном использовании невозможны, как уже и было описано.
А с моим комментарием-то что не так? %) ORM приплели потому, что есть те, кто думает раз они используют PDO или ORM, то SQL-инъекции им не страшны. Собственно, ваш комментарий и подтверждает это «панацея, поскольку SQL injection при их грамотном использовании невозможны». Т.е. не совсем панацея, даже работая с подобными «абстракциями» нужно помнить об этой уязвимости.
Если взять Symfony2, который идет с Doctrine2 ORM, то можно написать точно такую же статью. %) Интереснее как раз таки было бы прочитать про JSON Hijacking и менее известные атаки, от которых пользователи ASP.NET MVC3 защищены по дефолту.
А, раз речь про DDD, то ок со слоями. А то на слои тоже делят по-разному, у Крэг Лармана вообще application logic layer это те же business объекты, только которые уникальны для конкретного приложения.
А про ограниченность объектной декомпозиции вопрос открыт. Responsibility Driven Design (который и основывается на объектной декомпозиции) до сих пор считается самым эффективным методом для построения ОО-приложений, на основе его придуманы другие техники: DDD (акцент на Ubiquitous Language), TDD (на тестах), BDD (на user-stories).
А точнее user-stories это правильно, язык для общения заказчика с программистами. И декомпозиции здесь никакой нет — дай двум независимым программистам один и тот же набор сценариев, и они сделают два разных приложений (от «всё в одном классе», до тысячи классов).
Вообще application logic и domain logic это лишь разные уровни приложения, и чаще application logic не будет простыми stateless классами и может быть даже сложнее, чем domain logic (например, тот же ORM).
Про user-stories тоже не ясно. Это лишь один из методов проектирования и может быть применен к функциональной и объектной парадигме.
А можно ссылку на адекватный ресурс про то, что оно пришло из практики морской навигации? Я лишь нахожу, что шторм позаимствовано из нидерландского языка, а там оно означает волнения в атмосфере над любой поверхностью. Отсюда и штормовое прежупреждение при жаре и ураганах.
Та же википедия говорит, что шторм может быть как над водой, так и на суше, и описывает это как сильный ветер. Да и согласно свежим новостям «Friday’s storms produced 70-80 mph winds.», с грозой как-то не вяжется.
10к рублей в месяц не такие уж и больше деньги для крупных магазинов. И повысить можно не только цену, но и количество продаж этими методами и покрыть всю разницу.
Собственно все это описано (про первые впечатления и изменения сроков разработки/отладки) в любой книге про TDD, но в более подробной и понятной форме. Чтобы комментарий полезный был, оставлю 3 хорошие книги по TDD:
— Кент Бек: Экстремальное программирование: разработка через тестирование
— Roy Osherove: The Art of Unit Testing: With Examples in .Net
— Steve Freeman: Growing Object-Oriented Software, Guided by Tests.
Скорость осталась какая и была, 10 Mb/s. Но переподключения это грустно: из SSH теперь вылетает каждые 20-30 минут, при просмотре страниц редко, но выпадает can't find the host.
Так все просто же, реверс-перевод потом и изменяет %) А вообще не верю, что так проще. У меня на beginner уровне не было проблем с именованием функций и переменных. Пусть названия и были кривые и не всегда правильные слова было выбраны, но они были на английском и код можно было понять.
А с моим комментарием-то что не так? %) ORM приплели потому, что есть те, кто думает раз они используют PDO или ORM, то SQL-инъекции им не страшны. Собственно, ваш комментарий и подтверждает это «панацея, поскольку SQL injection при их грамотном использовании невозможны». Т.е. не совсем панацея, даже работая с подобными «абстракциями» нужно помнить об этой уязвимости.
А про ограниченность объектной декомпозиции вопрос открыт. Responsibility Driven Design (который и основывается на объектной декомпозиции) до сих пор считается самым эффективным методом для построения ОО-приложений, на основе его придуманы другие техники: DDD (акцент на Ubiquitous Language), TDD (на тестах), BDD (на user-stories).
Про user-stories тоже не ясно. Это лишь один из методов проектирования и может быть применен к функциональной и объектной парадигме.
If the variant has been modified since the If-Modified-Since
date, the response is exactly the same as for a normal GET.
Можно было бы придумать что-то с RANGE, но как тогда быть с удаленными и измененными данными не ясно.
— Кент Бек: Экстремальное программирование: разработка через тестирование
— Roy Osherove: The Art of Unit Testing: With Examples in .Net
— Steve Freeman: Growing Object-Oriented Software, Guided by Tests.