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

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

1
Является ли упаковка стороннего кода единственным решением для модульного тестирования своих потребителей?
Я делаю модульное тестирование, и в одном из моих классов мне нужно отправить письмо от одного из методов, поэтому, используя инъекцию конструктора, я внедряю экземпляр Zend_Mailкласса, который находится в среде Zend. Теперь некоторые люди утверждают, что если библиотека достаточно стабильна и не будет часто меняться, то нет необходимости ее оборачивать. …

5
Формальное определение термина «чистый ОО язык»?
Я не могу придумать лучшего места среди SO братьев и сестер, чтобы поставить такой вопрос. Изначально я хотел спросить "Является ли python чистым языком OO?" но, учитывая проблемы и некоторый дискомфорт, которые испытывают люди, пытаясь определить термин, я решил начать с получения четкого определения самого термина. Было бы довольно справедливо …

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

5
Преимущества классического ООП над языком Go-like
Я много думал о дизайне языка и о том, какие элементы были бы необходимы для «идеального» языка программирования, и изучение Google Go привело меня к сомнению во многих других общеизвестных знаниях. В частности, Go, похоже, обладает всеми интересными преимуществами объектно-ориентированного программирования, фактически не имея структуры объектно-ориентированного языка. Там нет классов, …

5
Эффективен ли процедурный код модульного тестирования?
В текущем проекте силы, которые хотят включить модульное тестирование, включены в наш цикл разработки, чтобы избежать постоянного количества ошибок, которые, похоже, проникают в наш код. Проблема в том, что код спагетти на 95% процентов процедурный, с которым я никогда не проводил модульное тестирование (весь мой опыт с модульным тестированием был …

7
Каковы роли синглетонов, абстрактных классов и интерфейсов?
Я изучаю ООП на C ++ и, хотя мне известны определения этих трех концепций, я не могу понять, когда и как их использовать. Давайте использовать этот класс для примера: class Person{ private: string name; int age; public: Person(string p1, int p2){this->name=p1; this->age=p2;} ~Person(){} void set_name (string parameter){this->name=parameter;} void set_age (int …

2
Правильно ли мое описание актерской модели?
Если я понял, модель актера похожа на объектную модель, но с некоторыми отличиями: КАЖДЫЙ объект порождает свой отдельный поток, и это не проблема, даже если у вас есть тысячи объектов. Актеры взаимодействуют не с помощью вызова функций и получения возвращаемых значений, а с помощью отправки и получения сообщений. Если вы …

3
Применяя твердые принципы
Я совершенно новичок в принципах дизайна SOLID . Я понимаю их причину и преимущества, но все же мне не удается применить их к небольшому проекту, который я хочу реорганизовать в качестве практического упражнения для использования принципов SOLID. Я знаю, что нет необходимости менять приложение, которое работает идеально, но я все …

5
Можно ли рассматривать объектно-ориентированную программу как конечный автомат?
Это может быть философский / фундаментальный вопрос, но я просто хочу уточнить его. В моем понимании, конечный автомат - это способ моделирования системы, в котором выход системы будет зависеть не только от текущих входных данных, но и от текущего состояния системы. Кроме того, как следует из названия, конечный автомат может …

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

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

8
Насколько объектно-ориентированный PHP? [закрыто]
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, вновь открыть, обратитесь за …

4
ФП и ОО ортогональны?
Я слышал это снова и снова, и я пытаюсь понять и подтвердить идею, что FP и OO ортогональны. Прежде всего, что означает, что 2 понятия являются ортогональными? FP поощряет неизменность и чистоту в максимально возможной степени. и ОО кажется чем-то, что построено для состояния и мутации (слегка организованная версия императивного …

6
Может ли проблема круг-эллипс быть решена путем изменения отношений?
Имея CircleпростиратьсяEllipse перерывам в Лиск Substition принципе , потому что она изменяет постусловие , а именно: вы можете установить X и Y независимо друг от друга , чтобы нарисовать эллипс, но X всегда должен быть равен Y для окружностей. Но разве проблема не в том, что круг является подтипом эллипса? …

1
Мы злоупотребляем статическими методами?
Пару месяцев назад я начал работать над новым проектом, и при прохождении кода меня поразило количество используемых статических методов. В collectionToCsvString(Collection<E> elements)них хранятся не только служебные методы , но и множество бизнес-логики. Когда я спросил парня, ответственного за обоснование этого, он сказал, что это был способ избежать весенней тирании . …

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