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

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

6
Преимущества шаблона стратегии
Почему полезно использовать шаблон стратегии, если вы можете просто написать свой код в случаях if / then? Например: у меня есть класс TaxPayer, и один из его методов рассчитывает налоги, используя разные алгоритмы. Так почему же он не может иметь if / then случаев и выяснить, какой алгоритм использовать в …

5
If Else - повторная кодовая логика
Мой босс дал мне проект с особой логикой. Я должен разработать веб-страницу, которая должна вести навигатор по многим случаям, пока он не достигнет продукта. Вот схема пути навигации по сайту: ВАЖНЫЙ! На странице Продукты навигатор может выбрать, какой фильтр он хочет. Если A, он / она ДОЛЖЕН пройти через B …

1
Когда использовать прототипное программирование в JavaScript
Я потратил много времени на разработку простых виджетов для проектов следующим образом: var project = project || {}; (function() { project.elements = { prop1: val1, prop2: val2 } project.method1 = function(val) { // Do this } project.method2 = function(val) { // Do that } project.init = function() { project.method1(project.elements.prop1) project.method2(project.elements.prop2) …

4
Являются ли первоклассные функции заменой шаблону Стратегии?
Шаблон дизайна Стратегии часто рассматриваются в качестве замены для функций первого класса на языках , которые не имеют их. Например, скажем, вы хотели передать функциональность в объект. В Java вам нужно передать объекту другой объект, который инкапсулирует желаемое поведение. В таком языке, как Ruby, вы просто передаете функциональность в виде …

3
Зачем использовать фрагменты Android?
Я прочитал документацию и некоторые другие вопросы по этой теме, и я не чувствую себя убежденным; Я не вижу четких границ использования этой техники. Фрагменты теперь рассматриваются как лучшая практика ; каждое действие должно быть в основном поддержкой одного или нескольких фрагментов, а не вызывать макет напрямую. Фрагменты создаются для …

4
Добавление поля в класс во время выполнения - шаблон проектирования
Представьте, что ваши клиенты хотят иметь возможность добавлять новые свойства (например, цвета) к продукту в своем интернет-магазине в своей CMS. Вместо того, чтобы иметь свойства как поля: class Car extends Product { protected String type; protected int seats; } Вы, вероятно, в конечном итоге сделать что-то вроде: class Product { …

4
Возврат логического значения, когда успех или неудача являются единственной проблемой
Я часто возвращаю логическое значение из метода, который используется в нескольких местах, чтобы хранить всю логику вокруг этого метода в одном месте. Все (внутренний) вызывающий метод должен знать, была ли операция успешной или нет. Я использую Python, но вопрос не обязательно специфичен для этого языка. Есть только два варианта, которые …

2
Я должен был использовать фабричный метод вместо конструктора. Могу ли я изменить это и при этом быть обратно совместимым?
Проблема Допустим, у меня есть класс с именем, DataSourceкоторый предоставляет ReadDataметод (и, возможно, другие, но давайте будем проще) для чтения данных из .mdbфайла: var source = new DataSource("myFile.mdb"); var data = source.ReadData(); Несколько лет спустя я решил, что хочу иметь возможность поддерживать .xmlфайлы в дополнение к .mdbфайлам в качестве источников …

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

8
Есть ли шаблон дизайна, кроме MVC для веб-сайтов?
Я хочу знать, есть ли шаблоны дизайна для веб-сайтов, кроме MVC? Я знаю, что существуют шаблоны проектирования: Registry, Observer, Factory, ActiveRecord, ... и MVC - набор других шаблонов проектирования и структура папок. Существует ли шаблон проектирования, например, MVC - это набор других шаблонов проектирования? Изменить: мой язык программирования PHP.

4
В MVC может ли несколько представлений иметь один и тот же контроллер или одно представление должно иметь один уникальный контроллер?
У меня есть несколько вопросов при разработке архитектуры для проекта вокруг MVC. (Это проект C ++ / Marmalade SDK, я не использую какой-либо конкретный MVC-фреймворк, я его создаю.) В нескольких статьях (например, в оригинальной статье Стива Бурбека ) я продолжаю читать концепцию «Триада MVC», которая поражает меня, так как я …

2
Лучше иметь отдельные действия Create и Edit или объединить Create и Edit в одно?
Мы используем ASP.NET MVC 2 с контроллером / представлением уровня представления и моделью, состоящей из уровня бизнес-логики, уровня доступа к данным [хранимые процедуры и классы / методы для взаимодействия с хранимыми процедурами]. На бизнес-уровне и выше для большинства целей редактирование представляется способным представлять как создание объекта, так и редактирование объекта. …

2
Как дженерики реализованы в современном компиляторе?
Я имею в виду, как нам перейти от какого-то шаблона T add(T a, T b) ...к сгенерированному коду? Я подумал о нескольких способах достижения этой цели: мы храним обобщенную функцию в AST как, Function_Nodeа затем каждый раз, когда мы ее используем, мы сохраняем в исходном узле функции свою копию со …

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

2
Должен ли я поместить логику расчета в сущность или в бизнес-уровень?
Недавно я столкнулся с вопросом о том, следует ли помещать простые вычисления в слой Entity, или Entity должен быть чист для простого хранения необработанных данных и оставить логику расчетов на бизнес-уровне. Поэтому мой вопрос заключается в том, имеет ли смысл инкапсулировать простые вычисления в свойствах в классе сущностей?

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