Вопросы с тегом «design-patterns»

Шаблон проектирования - это общее многократно используемое решение часто встречающейся проблемы в разработке программного обеспечения.

2
Эквивалент принципов SOLID для функционального программирования
Я нашел принципы SOLID весьма полезными, когда размышляю над объектно-ориентированным дизайном. Существует ли подобный / эквивалентный набор не зависящих от языка принципов, адаптированных для функционального программирования?

3
Кэширование на бизнес-уровне против Кэширования на уровне данных
Я всегда работал над проектами, в которых кеширование выполнялось на DAL, в основном именно тогда, когда вы собираетесь выполнить вызов в базу данных, он проверяет, есть ли данные в кэше, и если он есть, он просто не выполняет вызов и вместо этого возвращает эти данные. Я только недавно прочитал о …

2
MVCS - магазин контроллеров модельного представления
Недавно я решил начать изучать разработку под iOS, и с этой целью я читал Программирование на iOS: Руководство по ранчо для больших ботаников . В книге авторы описывают шаблон проектирования MVCS - Model-View-Controller-Store , основная идея которого заключается в том, что, поскольку во многих приложениях используется несколько внешних источников данных, …

2
Разделение доступа к данным в ASP.NET MVC
Я хочу удостовериться, что я следую отраслевым стандартам и передовым практикам с моей первой настоящей разработкой в ​​MVC. В данном случае это ASP.NET MVC, использующий C #. Я буду использовать Entity Framework 4.1 для моей модели с объектами первого кода (база данных уже существует), поэтому будет объект DBContext для извлечения …

4
Должна ли директива angularjs напрямую взаимодействовать со службами или она считается анти-паттерном?
Какой из них считается лучше: имея директиву, которая напрямую взаимодействует со службами или иметь директиву, которая выставляет определенные ловушки, с которыми контроллер может связывать поведение (включая службы)?

6
Есть ли шаблон дизайна, который будет применяться к дисконтным моделям?
Существуют ли известные шаблоны проектирования для реализации дисконтных моделей? Под дисконтными моделями я имею в виду следующее: Если клиент покупает продукт X, продукт Y и продукт Z, он получает скидку в размере 10% или 100 долларов США. Если клиент покупает 100 единиц Продукта X, он получает скидку в размере 15% …

2
Как улучшить шаблон Bloch's Builder Pattern, чтобы сделать его более подходящим для использования в расширяемых классах
На меня сильно повлияла книга Джошуа Блоха «Эффективная Java» (2-е издание), вероятно, больше, чем с любой книгой по программированию, которую я читал. В частности, его Образец Строителя (пункт 2) оказал наибольший эффект. Несмотря на то, что за последние несколько месяцев программист Блоха сделал меня намного дальше, чем за последние десять …

4
Реализация идеи Модель-Представление-Презентатор
Я пытаюсь получить хорошее представление о том, как реализовать хорошее разделение между пользовательским интерфейсом и моделью, но мне сложно понять, где именно разделить линии. Я смотрел на Model-View-Presenter, но я не уверен, как именно реализовать его. Например, мой вид имеет несколько диалогов. Должен ли быть класс View с экземплярами каждого …

12
Является ли это запахом кода, чтобы хранить общие объекты в контейнере, а затем получать объекты и выгружать объекты из контейнера?
Например, у меня есть игра, в которой есть несколько инструментов для повышения способности игрока: Tool.h class Tool{ public: std::string name; }; И некоторые инструменты: Sword.h class Sword : public Tool{ public: Sword(){ this->name="Sword"; } int attack; }; Shield.h class Shield : public Tool{ public: Shield(){ this->name="Shield"; } int defense; }; …

8
Как определить, соответствует ли класс единому принципу ответственности?
Принцип единой ответственности основан на принципе высокой сплоченности. Разница между ними заключается в том, что у очень сплоченных классов есть набор обязанностей, которые тесно связаны, в то время как у классов, придерживающихся SRP, есть только одна ответственность. Но как нам определить, обладает ли определенный класс набором обязанностей и, следовательно, является …

2
Может ли кто-то объяснить простыми словами, что такое разрушитель?
Я хотел бы, чтобы вы могли объяснить мне простым способом, как работает скороговорка. Эта концепция была неуловима для меня, как известно. Возможно, с вашей помощью я мог бы понять это.

2
Разница между шаблоном адаптера и прокси-сервером?
Насколько мы понимаем, шаблон адаптера создает объект-обертку для нашего реального объекта интереса, просто еще один уровень косвенности, который обеспечивает гибкость. гибкость заключается в том, что если интерфейс реального объекта изменяется, то мы меняем интерфейс оболочки, указывающий на реальный объект, оставляя незащищенный интерфейс на стороне клиента неизменным. Прокси шаблон такой же, …

11
Являются ли шаблоны проектирования силой хорошего или плохого? [закрыто]
Я слышал, как утверждается, что шаблоны дизайна - лучшая вещь с нарезанного хлеба. Я также слышал, как утверждается, что шаблоны проектирования, как правило, усугубляют «Второй системный синдром», что они чрезмерно используются и заставляют пользователей думать, что они лучшие дизайнеры, чем они есть на самом деле. Я склоняюсь ближе к бывшему …

6
Прогрессивное улучшение по сравнению с одностраничными приложениями
Я только что вернулся с конференции в Бостоне под названием An Event Apart . По-настоящему популярной темой среди докладчиков была идея постепенного улучшения : контент сайта должен идти в HTML, а JavaScript должен использоваться только для улучшения поведения. Аргументы, которые докладчики приводили для прогрессивного улучшения, были очень убедительными. Это не …

7
Как я могу предотвратить неизвестное дублирование кода?
Я работаю на довольно большой кодовой базе. Сотни классов, тонны различных файлов, множество функциональных возможностей, более 15 минут требуется для создания новой копии и т. Д. Большая проблема с такой большой кодовой базой состоит в том, что у нее есть довольно много вспомогательных методов и таких, которые делают то же …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.