Вопросы с тегом «object-oriented»

Методология, которая позволяет моделировать систему как набор объектов, которыми можно управлять и манипулировать модульным способом

2
Пример кода, объясняющего проблему джунглей «Банановые обезьяны», Джо Армстронг [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 2 года назад . В книге « Кодеры за работой» Джо Армстронг заявил, что: Я думаю, что …

6
Какой лучший способ избежать слишком большого количества if / else-if из следующего фрагмента кода?
Я пытаюсь написать сервлет, который выполняет задачу на основе значения "action", переданного в качестве входных данных. Вот образец которого public class SampleClass extends HttpServlet { public static void action1() throws Exception{ //Do some actions } public static void action2() throws Exception{ //Do some actions } //And goes on till action9 …

2
Стек, расширяющий LinkedList. Нарушение принципа подстановки Лискова?
Существует класс LinkedList с такими функциями, как add_first (), add_last (), add_after (), remove_first (), remove_last () и remove () Теперь есть класс Stack, который предоставляет такие функции, как push (), pop (), peek () или top (), и для реализации этих методов он расширяет методы класса LinkedList. Это нарушение …

8
«Предпочитаю композицию наследованию» - единственная причина защищаться от изменений подписи?
Эта страница поддерживает композицию перед наследованием со следующим аргументом (перефразировав его в моих словах): Изменение в сигнатуре метода суперкласса (который не был переопределен в подклассе) во многих случаях вызывает дополнительные изменения, когда мы используем наследование. Однако, когда мы используем Композицию, необходимые дополнительные изменения происходят только в одном месте: подклассе. Неужели …

6
Чистый ООП способ отображения объекта на его презентатора
Я создаю настольную игру (например, шахматы) на Java, где каждая фигура имеет свой собственный тип (например Pawn, Rookи т. Д.). Для графической части приложения мне нужно изображение для каждой из этих частей. Поскольку делать думает, как rook.image(); нарушает разделение пользовательского интерфейса и бизнес-логики, я создаю отдельного презентатора для каждого фрагмента, …

4
Большой класс с единственной ответственностью
У меня есть Characterкласс 2500 строк, который: Отслеживает внутреннее состояние персонажа в игре. Загружает и сохраняет это состояние. Обрабатывает ~ 30 входящих команд (обычно = перенаправляет их на Game, но некоторые команды только для чтения отвечают немедленно). Получает ~ 80 звонков Gameо действиях, которые он предпринимает, и о действиях других. …

3
Это плохой ООП дизайн для симуляции с участием интерфейсов?
Я разрабатываю свою собственную маленькую ООП-программу для симуляции вампиров, волков, людей и грузовиков и пытаюсь реализовать собственное ограниченное понимание интерфейсов. ( Я все еще абстрагируюсь здесь и не имею никакой реализации кода, так что это скорее вопрос ООП-дизайна ... Я думаю!) Прав ли я в поиске «общего поведения» между этими …

4
Может ли структура C вести себя так, как будто у нее есть функция?
Я использую C и structs, где структура может иметь члены, но не функции. Предположим для простоты, что я хочу создать структуру для строк, которые я назвал, strи я хочу иметь возможность делать, str.replace(int i, char c)где iнаходится индекс строки и cсимвол, который заменяет символ в позиции i. Если бы это …

3
По каким причинам вы бы использовали отдельное расширение класса для каждого делегата в Swift?
Я работал над учебником Рэя Вендерлиха и заметил, что автор использует расширения класса для хранения обратных вызовов делегата, а не для обработки их в самом классе, то есть: делегировать обратные вызовы внутри расширения класса: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } …

6
Опрос одного из аргументов в пользу внедрения зависимостей: почему сложно создать граф объектов?
Платформы внедрения зависимостей, такие как Google Guice, дают следующую мотивацию для их использования ( источник ): Чтобы построить объект, вы сначала строите его зависимости. Но для построения каждой зависимости вам нужны ее зависимости и так далее. Поэтому, когда вы строите объект, вам действительно нужно построить граф объектов. Создание графов объектов …

6
Как практиковать объектно-ориентированное программирование? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Закрыто 6 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я всегда …

6
Какие функциональные возможности стоят немного путаницы ООП для выгоды, которые они приносят?
Изучив функциональное программирование на Haskell и F #, парадигма ООП кажется задом наперед с классами, интерфейсами, объектами. Какие аспекты ПС я могу использовать на работе, чтобы мои коллеги могли понять? Стоит ли говорить с моим боссом о каких-либо стилях FP о переподготовке моей команды, чтобы мы могли их использовать? Возможные …

4
Рельсы: Закон Путаницы Деметры
Я читаю книгу под названием Rails AntiPatterns, и они говорят об использовании делегирования, чтобы избежать нарушения закона Деметры. Вот их главный пример: Они считают, что вызывать что-то подобное в контроллере плохо (и я согласен) @street = @invoice.customer.address.street Их предлагаемое решение заключается в следующем: class Customer has_one :address belongs_to :invoice def …

1
Почему императивное программирование предпочтительнее функционального программирования? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Фон: я сторонник функционального программирования, который работает в магазине VB.NET, где преобладающей ментальной …

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

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