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

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

1
Почему программисты используют `Acme` в качестве имени пакета, пространства имен или каталога [закрыто]
Это может быть или не быть глупым вопросом, но я действительно хотел бы знать ответ на что-то, что беспокоило меня некоторое время. Я довольно часто вижу примеры / соглашения по программированию, где программист создал каталог, в который acmeнужно положить материал. Что Acmeзначит? Почему Acme, а не Emca или другой? Является …

2
Соответствует ли шаблон ActiveRecord / поддерживает принципы проектирования SOLID?
Меня интересует, поощряет или не поощряет ли шаблон ActiveRecord, известный благодаря Ruby on Rails, использование принципов проектирования SOLID . Например, мне кажется, что объекты ActiveRecord содержат как доменную логику, так и логику персистентности, что является нарушением единой ответственности.

10
Есть ли причина использовать классы «старых данных»?
В унаследованном коде я иногда вижу классы, которые являются ничем иным, как обертками для данных. что-то типа: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } Мое понимание ОО состоит в том, что классы являются структурами для данных и методами работы с этими данными. Это, …

7
Полная неизменность и объектно-ориентированное программирование
В большинстве языков ООП объекты обычно изменяемы с ограниченным набором исключений (например, кортежи и строки в Python). В большинстве функциональных языков данные неизменны. Как изменяемые, так и неизменяемые объекты имеют целый ряд собственных преимуществ и недостатков. Существуют языки, которые пытаются объединить обе концепции, например, scala, где у вас есть (явно …

3
Принципы программирования SOLID
Со временем я смог понять две части SOLID - «S» и «O». «O» - я выучил принцип Open Closed с помощью модели наследования и стратегии. «S» - я изучил принцип единой ответственности при изучении ORM (логика персистентности отбирается у объектов домена). Аналогичным образом, какие области / задачи лучше всего изучать …

9
Является ли «избегать проблемы йо-йо» веской причиной, позволяющей «примитивную одержимость»?
Согласно « Когда примитивная одержимость не является запахом кода»? Я должен создать объект ZipCode для представления почтового индекса вместо объекта String. Однако, по моему опыту, я предпочитаю видеть public class Address{ public String zipCode; } вместо того public class Address{ public ZipCode zipCode; } потому что я думаю, что последний …

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

8
Какова реальная ответственность класса?
Я продолжаю задаваться вопросом, является ли законным использование глаголов, основанных на существительных в ООП. Я наткнулся на эту блестящую статью , хотя я все еще не согласен с тем, что она делает. Чтобы объяснить проблему чуть подробнее, в статье говорится, что не должно быть, например, FileWriterкласса, но поскольку написание является …

10
В чем разница между «сценарием использования», «историей пользователя» и «сценарием использования»?
Существует ли точное, но простое и понятное определение различия между «сценарием использования», «пользовательской историей» и «сценарием использования»? есть множество объяснений, но сейчас я не вижу никого, кто бы объяснял различия в одном предложении или двух ... (например, http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison очень длинный и трудный для получения, полный обсуждения)

9
Нужна ли регистрация при выполнении TDD?
При выполнении цикла Red, Green & Refactor мы всегда должны писать минимальный код для прохождения теста. Именно так меня учили о TDD и как почти все книги описывают этот процесс. Но как насчет регистрации? Честно говоря, я редко использовал регистрацию в приложении, если не было чего-то действительно сложного, что происходило, …

5
Передача функций в другие функции в качестве параметров, плохая практика?
Мы находимся в процессе изменения того, как наше приложение AS3 взаимодействует с нашим бэкэндом, и мы находимся в процессе внедрения системы REST для замены нашей старой. К сожалению, разработчик, который начал работу, сейчас находится в длительном отпуске по болезни, и он был передан мне. Я работал с ним в течение …

6
Должен ли я создать класс, если моя функция сложна и имеет много переменных?
Этот вопрос несколько не зависит от языка, но не полностью, поскольку объектно-ориентированное программирование (ООП) отличается, например, в Java , которая не имеет функций первого класса, чем в Python . Другими словами, я чувствую себя менее виноватым за создание ненужных классов в таком языке, как Java, но я чувствую, что может …

9
Почему я должен объявлять класс как абстрактный класс?
Я знаю синтаксис, правила, применяемые к абстрактному классу, и я хочу знать использование абстрактного класса Абстрактный класс не может быть создан напрямую, но может быть расширен другим классом В чем преимущество этого? Чем он отличается от интерфейса? Я знаю, что один класс может реализовывать несколько интерфейсов, но может расширять только …

12
Документация в ООП должна избегать указания, выполняет ли «получатель» какие-либо вычисления?
Программа CS моей школы избегает каких-либо упоминаний об объектно-ориентированном программировании, поэтому я немного читал сам, чтобы дополнить его - в частности, конструкцию объектно-ориентированного программного обеспечения Бертрана Мейера. Мейер неоднократно подчеркивал, что классы должны скрывать как можно больше информации об их реализации, что имеет смысл. В частности, он неоднократно утверждает, что …

4
Обозначения диаграмм классов UML: различия между ассоциацией, агрегацией и композицией
Я запутался в некоторых обозначениях диаграмм классов UML. Я уверен, что знаю, что такое Ассоциация . Любые отношения между экземплярами двух классов, где экземпляру одного класса необходимо знать об экземпляре второго класса для выполнения своей работы, - это отношения Ассоциации. Ассоциация часто означает, что класс A имеет ссылку (поле) на …

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