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

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

12
Почему мы должны изучать процедурное программирование, прежде чем изучать объектно-ориентированное программирование [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Сейчас я учусь на 4-ом курсе в IT-университете, и когда я говорю с …

12
Как объяснить концепции ООП нетехническому человеку?
Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Я часто стараюсь не говорить людям, что я программист, потому что большую часть времени я объясняю им, что это на самом деле …

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

4
Рефакторинг в доменном дизайне [закрыто]
Закрыто . Этот вопрос нуждается в деталях или ясности . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Добавьте детали и проясните проблему, отредактировав этот пост . Закрыто 6 лет назад . Я только начал работать над проектом, и мы используем управляемый доменом проект (как определил Эрик …


4
C ++ Предпочтительный метод работы с реализацией для больших шаблонов
Обычно при объявлении класса C ++ рекомендуется помещать только объявление в заголовочный файл и помещать реализацию в исходный файл. Однако, похоже, что эта модель проектирования не работает для шаблонных классов. При поиске в Интернете, кажется, есть 2 мнения о лучшем способе управления шаблонами классов: 1. Вся декларация и реализация в …

5
Является ли нарушением принципа Открыто-Закрыто обновление константы, представляющей реальное значение?
У меня есть класс для расчета чистого годового дохода работников. У него есть константа, представляющая процент налога. Но однажды ставка налога изменилась, поэтому мне нужно исправить код. Указывает ли акт исправления этой константы на нарушение принципа Открыто-Закрыто , поскольку он постулирует, что класс должен быть закрыт для модификации?

6
Какой код должен быть включен в абстрактный класс?
В последнее время меня беспокоит использование абстрактных классов. Иногда абстрактный класс создается заранее и работает как шаблон того, как будут работать производные классы. Это означает, более или менее, что они предоставляют некоторые функциональные возможности высокого уровня, но не учитывают некоторые детали, которые должны быть реализованы производными классами. Абстрактный класс определяет …

2
Интерфейс с только получателями - это запах кода?
(Я видел этот вопрос , но первый ответ касается автоматических свойств больше, чем дизайна, а второй говорит , что нужно скрыть код хранилища данных от потребителя , что я не уверен, что я хочу / мой код делает, так что хотелось бы услышать другое мнение) У меня есть две очень …

3
Есть ли смысл использовать компоновщики и текучие интерфейсы с инициализаторами объектов?
В Java и C # вы можете создать объект со свойствами, которые можно установить при инициализации, либо определив конструктор с параметрами, определив каждое свойство после создания объекта, либо используя шаблон интерфейса Builder / Fluid. Однако в C # 3 были введены инициализаторы объектов и коллекций, что означало, что шаблон компоновщика …

2
Каков рекомендуемый подход для вспомогательных функций в JavaScript?
Каков рекомендуемый подход для вспомогательных функций? Я хотел бы выбрать одну технику и запустить ее, чтобы создать свой новый «класс». Вот варианты дизайна, которые я обдумал: Вариант 1: вспомогательная функция во внешней области, вызывается с контекстом экземпляра function createPane (pane) { // logic to create pane var proto = Object.create(this.paneList); …

4
Почему прохождение объектов статическими методами было бы выгодно?
Почему было бы выгодно использовать статический метод и передавать ссылку на объект в качестве параметра, а не вызывать метод объекта? Чтобы уточнить, что я имею в виду, рассмотрим следующий класс: public class SomeClass { private double someValue; public SomeClass() { // Some constructor in which someValue is set } public …

4
Может ли переименование метода сохранить инкапсуляцию?
Я читал эту страницу о том, когда геттеры / сеттеры оправданы, и ОП дал следующий пример кода: class Fridge { int cheese; void set_cheese(int _cheese) { cheese = _cheese; } int get_cheese() { return cheese; } } void go_shopping(Fridge fridge) { fridge.set_cheese(fridge.get_cheese() + 5); } В признанных ответ гласит: Кстати, …

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

7
Обход правил у волшебников и воинов
В этой серии постов в блоге Эрик Липперт описывает проблему объектно-ориентированного проектирования на примере мастеров и воинов, где: abstract class Weapon { } sealed class Staff : Weapon { } sealed class Sword : Weapon { } abstract class Player { public Weapon Weapon { get; set; } } sealed …

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