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

11
css - использовать универсальный селектор '*' против HTML или селектора тела?

Применение стилей к тегу body будет применено ко всей странице, поэтому body { font-family: Verdana } будет применяться ко всей странице. Это также может быть сделано с * {font-family: Verdana} который будет применяться ко всем элементам и, следовательно, будет иметь тот же эффект. Я понимаю...

11
Когда Efferent / Afferent сцепление хорошо или плохо

На этой неделе у меня экзамен по программным паттернам, и одной из тем, которые мы должны изучить, является эфферентная и афферентная связь. Я понимаю, что пакет имеет высокий Ce (эфферентное связывание), если это зависит от ряда других типов. Например: class Car{ Engine engine; Wheel wheel; Body...

11
POST / Redirect / GET с неверной отправкой формы?

В области веб-разработки, является ли хорошей практикой делать POST / Redirect / GET, когда поля в отправке формы также недействительны? Как правило, в этом случае не было бы никакой конфиденциальной транзакции. Однако можно ли привести аргумент, что, тем не менее, все еще является хорошей...

11
Командный дизайн

У меня есть эта старая реализация шаблона Command. Это своего рода передача контекста через всю реализацию DIOperation , но позже я понял, что в процессе обучения и обучения (что никогда не останавливается) это не оптимально. Я также думаю, что «посещение» здесь не совсем подходит и просто сбивает...

11
Разработчик .Net пытается выучить ruby ​​на рельсах

Я разработчик .NET, и у меня была возможность поиграть с Ruby on Rails в эти выходные. В .NET мы разделяем слои приложения, создавая отдельные проекты библиотеки классов. С точки зрения шаблонов проектирования, мы должны делать это и в Rails, или это всего лишь один проект со всем в...

11
Лучший шаблон проектирования ООП для последовательности операций

Я работаю над приложением, модуль которого последовательно выполняет следующие финансовые операции: Когда пользователь запрашивает перевод определенной суммы на свой банковский счет: проверить, может ли какая-либо транзакция произойти сейчас? (транзакция может быть осуществлена ​​только в течение...

11
Архитектура проекта .NET MVC / многоуровневая структура

При планировании архитектуры для средне-масштабного веб-приложения MVC, как вы реализуете слои, чтобы они были максимально разделены и легко тестировались? (в основном следуйте рекомендациям) Допустим, я сначала использую код для доступа к данным. Я борюсь с тем, как определить «бизнес-логику», и...

11
MVC + 3 уровня; где ViewModels вступают в игру?

Я разрабатываю трехуровневое приложение с использованием ASP.NET MVC 4. В качестве справки я использовал следующие ресурсы. CodeProject: MVC + N-уровень + Entity Framework Разделение доступа к данным в ASP.NET MVC У меня есть следующий дизайн. Уровень представления (PL) (основной проект MVC, где M...

11
Чем шаблон публикации-подписки отличается от gotos?

Насколько я понимаю, заявления Гото, как правило, осуждаются . Но шаблон « публикация-подписка» концептуально похож на то, что, когда часть кода публикует сообщение, он выполняет одностороннюю передачу управления. Программист может не знать, какие части программы подписываются на это сообщение. Я...

11
Шаблон Дублирования Класса?

В настоящее время я работаю сольным разработчиком над моим текущим проектом. Я унаследовал проект от другого разработчика, который с тех пор покинул компанию. Это веб-приложение в стиле модель-вид-контроллер в C #. Он использует Entity Framework для реляционного отображения объектов. И есть два...

11
Отдельный интерфейс для методов мутации

Я работал над рефакторингом некоторого кода, и я думаю, что, возможно, сделал первый шаг по кроличьей норе. Я пишу пример на Java, но я полагаю, что он может быть агностиком. У меня есть интерфейс, Fooопределенный как public interface Foo { int getX(); int getY(); int getZ(); } И реализация как...

11
Сокращение шаблонов в классе, который реализует интерфейсы посредством композиции

У меня есть класс: Aэто состав из нескольких меньших классов B, Cи D. B, CИ Dреализовывать интерфейсы IB, ICи IDсоответственно. Так как Aподдерживает все функциональные возможности B, Cи D, Aреализует IB, ICи IDтакже, но это, к сожалению, приводит к большой перенаправления в реализацииA Вот так:...

11
СУХОЙ принцип в хороших практиках?

Я стараюсь следовать принципу СУХОЙ в своем программировании изо всех сил. Недавно я изучал шаблоны проектирования в ООП и закончил тем, что повторял себя довольно много. Я создал шаблон Repository вместе с шаблонами Factory и Gateway, чтобы справиться с моим постоянством. Я использую базу данных в...

11
Как инверсия контроля связана с инверсией зависимости

Во многих статьях по всему миру термины «Инверсия управления» и «Принцип инверсии зависимостей», похоже, перепутаны и используются как синонимы (дальнейшая путаница обеспечивается инструментами, которые называются «DI-контейнеры» и «IoC-контейнеры»). Статья в Википедии делает хорошую работу,...

11
Реализация состояния объекта на ОО языке?

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

11
Отделение бизнес-логики от DB-логики с транзакциями

У нас есть три слоя в нашем приложении. Сервисный уровень для предоставления внешнего API. Уровень BO для нашей бизнес-логики и уровень DAO для нашего соединения с базой данных. Допустим, каждый раз, когда мы обновляем файл, мы также хотим что-то изменить в папке, например, «дата последнего...

11
Уровень приложений, вызывающий функции базы данных. Плохая архитектура?

Сценарий: Стек: Java, Spring, Hibernate. Модель: клиент-серверное приложение. Шаблон: Модель-Вид-Контроллер (MVC). Классы Service Layer имеют три поведения: Некоторые сервисы имеют бизнес-правило внутри методов и делегируют постоянство приложению. Подобно: EntityManager.save (юридическое лицо);...

11
Как выполнить проверку входных данных без исключений или избыточности

Когда я пытаюсь создать интерфейс для конкретной программы, я обычно стараюсь избегать исключений, которые зависят от неподтвержденного ввода. Поэтому часто случается так, что я думаю о таком фрагменте кода (это просто пример ради примера, не обращайте внимания на функцию, которую он выполняет,...

11
Шаблон подсчета ссылок для языков с управлением памятью?

Java и .NET имеют замечательные сборщики мусора, которые управляют памятью, и удобные шаблоны для быстрого освобождения внешних объектов ( Closeable, IDisposable), но только если они принадлежат одному объекту. В некоторых системах ресурс может потребляться независимо двумя компонентами и...

11
Как мне обернуть сервис, чтобы он был проще

У нас есть зависимость от стороннего сервиса, который предоставляет гигантский интерфейс, который нам нужен только как 3 метода. Кроме того, интерфейс часто меняется ... Я решил обернуть интерфейс в класс в нашем проекте и раскрыть только те методы, которые нам нужны. Но я не уверен, как я должен...