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

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

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

5
Как меняется концепция класса при передаче данных в конструктор вместо параметров метода?
Допустим, мы делаем парсер. Одна реализация может быть: public sealed class Parser1 { public string Parse(string text) { ... } } Или мы могли бы вместо этого передать текст конструктору: public sealed class Parser2 { public Parser2(string text) { this.text = text; } public string Parse() { ... } } …

7
В объектно-ориентированных языках, когда объекты должны выполнять операции над собой и когда должны выполняться операции над объектами?
Предположим, есть Pageкласс, который представляет собой набор инструкций для средства визуализации страниц. И предположим, есть Rendererкласс, который знает, как отобразить страницу на экране. Структурировать код можно двумя разными способами: /* * 1) Page Uses Renderer internally, * or receives it explicitly */ $page->renderMe(); $page->renderMe($renderer); /* * 2) Page is passed …

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

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

5
Что такое хорошая практика проектирования, чтобы не задавать тип подкласса?
Я читал, что когда вашей программе нужно знать, к какому классу относится объект, обычно это указывает на недостаток дизайна, поэтому я хочу знать, что такое хорошая практика для этого. Я реализую класс Shape с различными подклассами, унаследованными от него, такими как Circle, Polygon или Rectangle, и у меня есть разные …

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

3
Как должен быть разработан класс «Сотрудник»?
Я пытаюсь создать программу для управления сотрудниками. Однако я не могу понять, как спроектировать Employeeкласс. Моя цель - иметь возможность создавать и управлять данными о сотрудниках в базе данных, используя Employeeобъект. Базовая реализация, о которой я подумал, была такой простой: class Employee { // Employee data (let's say, dozens of …

5
Лучшая стратегия для сообщения о прогрессе в UI - как должен происходить обратный вызов?
Иногда пользователь запускает расширенную техническую операцию, выполнение которой занимает некоторое время. В этих случаях обычно удобно отображать какой-то индикатор выполнения вместе с информацией о том, какая задача выполняется в данный момент. Чтобы избежать тесной связи между пользовательским интерфейсом и уровнями логики, обычно лучше, чтобы связь происходила через какой-то тип прокси. …

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

2
Классы Python только с одним экземпляром: когда создавать (один) экземпляр класса и когда вместо этого работать с классом?
Данный класс Python, который будет создан только один раз, то есть будет только один объект класса. Мне было интересно, в каких случаях имеет смысл создавать отдельный экземпляр класса, а не работать непосредственно с классом. Есть похожий вопрос , но он имеет другую направленность: речь идет о группировании глобальных переменных и …

5
Должен ли я предпочесть композицию или наследование в этом сценарии?
Рассмотрим интерфейс: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Этот интерфейс реализован рядом классов, которые генерируют волны различной формы (например, SineWaveGeneratorи SquareWaveGenerator). Я хочу реализовать класс, который генерирует SoundWaveмузыкальные данные, а не необработанные звуковые данные. Он получит имя заметки и длину в виде ударов (не секунд) и внутренне …

4
Что означает «ООП скрывает государство»? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 5 лет назад . В одном из многочисленных выступлений против ООП на сайте cat-v.org я обнаружил отрывок …

5
Должен ли я всегда полностью инкапсулировать внутреннюю структуру данных?
Пожалуйста, рассмотрите этот класс: class ClassA{ private Thing[] things; // stores data // stuff omitted public Thing[] getThings(){ return things; } } Этот класс предоставляет массив, который он использует для хранения данных, любому клиентскому коду. Я сделал это в приложении, над которым я работаю. У меня был ChordProgressionкласс, который хранит …

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

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