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

12
Использование классов-друзей для инкапсуляции закрытых функций-членов в C ++ - хорошая практика или злоупотребление?

Итак, я заметил, что можно избежать размещения частных функций в заголовках, выполнив что-то вроде этого: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class...

12
DDD встречает ООП: Как реализовать объектно-ориентированный репозиторий?

Типичная реализация хранилища DDD выглядит не очень хорошо, например, save()метод: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Инфраструктурная часть:...

11
Как бы вы оценили навыки объектно-ориентированного дизайна? [закрыто]

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

11
Вложенные классы: полезный инструмент или нарушение инкапсуляции?

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

11
Структурное программирование против ОО-программирования

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

11
Как меняется мышление о шаблонах проектирования и методах ООП в динамических и слабо типизированных языках?

В этом отношении уже есть довольно полезный вопрос (« Шаблоны проектирования без ООП? »), Но мне более любопытна переходная точка зрения для человека, только начинающего работать с динамическими и слабо типизированными языками. То есть: скажем, я программировал на C ++, C # или Java в течение...

11
Как передать данные объектно-ориентированным способом в PHP?

Я обнаружил, что даже при работе с инфраструктурой MVC (например, CodeIgniter) я регулярно прибегаю к передаче вложенных массивов, а не объектов. Это не следует моему пониманию объектно-ориентированного подхода. Например, если бы я перенес код на Java, я бы не стал мечтать о том, чтобы передавать...

11
С точки зрения дизайна, каковы лучшие практики для ведения журналов? [закрыто]

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

11
общее программирование, как часто оно используется в промышленности

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

11
Почему мой класс хуже, чем иерархия классов в книге (начинающий ООП)?

Я читаю PHP объекты, шаблоны и практики . Автор пытается смоделировать урок в колледже. Цель состоит в том, чтобы вывести тип урока (лекция или семинар), а также плату за урок в зависимости от того, является ли это почасовым или фиксированным уроком. Таким образом, вывод должен быть Lesson charge...

11
Почему нет сервис-ориентированного языка?

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

11
Какой ОО дизайн использовать (есть ли шаблон дизайна)?

У меня есть два объекта, которые представляют «Бар / Клуб» (место, где вы пьете / общаетесь). В одном сценарии мне нужно имя бара, адрес, расстояние, слогон В другом сценарии мне нужно название бара, адрес, URL сайта, логотип Итак, у меня есть два объекта, представляющих одно и то же, но с разными...

11
Является ли принцип подстановки Лискова несовместимым с интроспекцией или уткой?

Правильно ли я понимаю, что принцип подстановки Лискова не может соблюдаться в языках, где объекты могут сами себя проверять, как, например, в языках с утиной типизацией? Например, в Ruby, если класс Bнаследует от класса A, то для каждого объекта xиз A, x.classсобирается вернуться A, но если xэто...

11
Каковы практические способы реализации SRP?

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

11
Как я могу объяснить объектно-ориентированное программирование тому, кто закодирован только в Fortran 77?

Моя мама защитила диссертацию в колледже на Фортране, и теперь (более десяти лет спустя) ей необходимо изучить c ++ для моделирования жидкостей. Она в состоянии понять все процедурное программирование, но как бы я ни старался объяснить ей объекты, она не прилипает. (Я много работаю с Java, поэтому...

11
Насмешливый класс бетона - не рекомендуется

Я только что прочитал отрывок из книги «Растущее объектно-ориентированное программное обеспечение», в которой объясняются некоторые причины, по которым не рекомендуется издеваться над конкретным классом. Вот пример кода юнит-теста для класса MusicCentre: public class MusicCentreTest { @Test public...

11
Рекомендации по возврату объекта только для чтения

У меня есть вопрос "передового опыта" об ООП в C # (но он вроде относится ко всем языкам). Подумайте о том, чтобы иметь библиотечный класс с объектом, который должен быть открыт для публики, скажем, через средство доступа к свойству, но мы не хотим, чтобы публика (люди, использующие этот...

11
Какие изменения слишком велики, чтобы их было легко сделать с помощью правильного дизайна?

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

11
Должен ли я всегда полностью инкапсулировать внутреннюю структуру данных?

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

11
Что означает «ООП скрывает государство»? [закрыто]

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