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

23
Можно ли классу использовать собственный публичный метод?

Задний план В настоящее время у меня есть ситуация, когда у меня есть объект, который передается и принимается устройством. Это сообщение имеет несколько конструкций, а именно: public void ReverseData() public void ScheduleTransmission() ScheduleTransmissionМетод необходимо вызвать ReverseDataметод...

23
Я нарушаю практику ООП с этой архитектурой?

У меня есть веб-приложение. Я не верю, что технология важна. Структура представляет собой N-уровневое приложение, показанное на рисунке слева. Есть 3 слоя. UI (шаблон MVC), уровень бизнес-логики (BLL) и уровень доступа к данным (DAL) Проблема, которую я имею, состоит в том, что мой BLL огромен,...

23
Используйте глаголы с функциями, существительные с классами - как насчет интерфейсов? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Хорошо, я понимаю обычные соглашения об использовании глаголов с функциями и...

23
Являются ли диаграммы классов UML адекватными для проектирования систем JavaScript?

Учитывая, что UML ориентирован на более классический подход к объектной ориентации, все же можно ли его надежно использовать для проектирования систем JavaScript? Одна конкретная проблема, которую я вижу, состоит в том, что диаграммы классов, на самом деле, представляют собой структурное...

22
Является ли слабое соединение без вариантов использования анти-паттерном?

Слабое связывание для некоторых разработчиков является святым Граалем хорошо спроектированного программного обеспечения. Это, конечно, хорошо, когда он делает код более гибким перед лицом изменений, которые могут произойти в обозримом будущем, или избегает дублирования кода. С другой стороны,...

22
Существуют ли ОО-языки без наследования?

Во время сегодняшнего обзора кода мой коллега сказал что-то интересное: prototypeполезно только тогда, когда вам нужно наследование - и когда наследование когда-либо является хорошей идеей ? Я подумал об этом и понял, что обычно использую наследование, чтобы обойти код, который изначально был плохо...

22
постоянная интеграция для научного программного обеспечения

Я не инженер по программному обеспечению. Я аспирант в области наук о Земле. Почти два года назад я начал программировать научное программное обеспечение. Я никогда не использовал непрерывную интеграцию (CI), главным образом потому, что сначала я не знал, что она существует, и я был единственным,...

22
Что они называли объектно-ориентированным программированием до того, как Алан Кей изобрел этот термин?

Алан Кей утверждает, что «я придумал термин« объектно-ориентированный », и я могу сказать, что я не имел в виду C ++». Разумеется, он имел в виду Smalltalk. Но он не придумал само объектно-ориентированное программирование; он получил основные идеи от Симулы. Так что, если этот термин еще не был...

22
Шаблоны для распространения изменений в объектной модели ..?

Вот общий сценарий, с которым мне всегда приходится сталкиваться. У меня есть объектная модель с родительским объектом. Родитель содержит несколько дочерних объектов. Что-то вроде этого. public class Zoo { public List<Animal> Animals { get; set; } public bool IsDirty { get; set; } } Каждый...

22
Принципы ООП и названия методов

class Boxer: def punch(self, punching_bag, strength): punching_bag.punch(strength) class PunchingBag: def punch(self, strength): print "Punching bag punched with strength", strength boxer = Boxer() punching_bag = PunchingBag() boxer.punch(punching_bag, 2) Без сомнения, punchэто хорошее имя метода в...

22
Должен ли объект знать свой собственный идентификатор?

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

21
Как обрабатывать ошибки в конструкторе класса C ++?

У меня есть класс CPP, конструктор которого выполняет некоторые операции. Некоторые из этих операций могут потерпеть неудачу. Я знаю, что конструкторы ничего не возвращают. Мои вопросы Разрешено ли выполнять некоторые операции, кроме инициализации членов в конструкторе? Можно ли сказать вызывающей...

21
Является ли разработка игр лучшим способом изучения программирования? [закрыто]

Закрыто. Этот вопрос не по теме . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он соответствовал теме разработки программного обеспечения в стеке. Закрыто 4 года назад . Недавно я слышал от преподавателя, что разработка игр - лучший способ научиться...

21
Использование статических классов в качестве пространств имен

Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 8 лет назад . Я видел других разработчиков, использующих статические классы как пространства имен public static class CategoryA { public class Item1 { public void...

21
Как радикально улучшить покрытие кода?

Мне поручено получить устаревшее приложение под модульным тестом. Сначала немного информации о приложении: это 600-килобайтная кодовая база Java RCP с этими серьезными проблемами. массовое дублирование кода нет инкапсуляции, большая часть личных данных доступна извне, некоторые бизнес-данные также...

21
Как избежать гигантских клеевых методов?

В моей нынешней работе мне было поручено несколько раз очистить старый код. Часто код представляет собой лабиринт, а данные за ним еще более запутаны. Я обнаруживаю, что расчесываю вещи в красивые, аккуратные, модульные методы. Каждый метод делает одну вещь и делает это хорошо. Вот когда дела...

21
«Слишком объектно-ориентированный»

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

20
Какая польза от объединения, агрегации и состава?

Я прошел через множество теорий о том, что такое инкапсуляция и три метода ее реализации, а именно: ассоциация, агрегация и композиция. То, что я нашел, это : Инкапсуляция Инкапсуляция - это техника, делающая поля в классе приватными и обеспечивающая доступ к полям с помощью открытых методов. Если...

20
Являются ли методы init () запахом кода?

Есть ли цель объявить init()метод для типа? Я не спрашиваю, стоит ли нам отдавать предпочтение init()конструктору или как избежать объявленияinit() . Я спрашиваю, есть ли какое- либо обоснование для объявления init()метода (видя, насколько он распространен) или это запах кода, и его следует...

20
Дженерикс против общего интерфейса?

Я не помню, когда я писал общий класс в прошлый раз. Каждый раз, когда я думаю, что мне это нужно, после некоторого размышления я делаю вывод, что нет. Второй ответ на этот вопрос заставил меня попросить разъяснений (поскольку я пока не могу комментировать, я сделал новый вопрос). Итак, давайте...