Запитання з тегом «object-oriented»

Методологія, яка дозволяє моделювати систему як сукупність об'єктів, якими можна модульно керувати та керувати ними

6
У якому порядку визначати геттерів та сетерів? [зачинено]
Наразі це запитання не підходить для нашого формату запитань. Ми очікуємо, що відповіді будуть підкріплені фактами, посиланнями або експертними знаннями, але це питання, ймовірно, вимагатиме дискусій, аргументів, опитувань чи розширеної дискусії. Якщо ви вважаєте, що це питання можна вдосконалити та, можливо, знову відкрити, відвідайте довідковий центр для ознайомлення . Закрито …

2
Зразок коду для пояснення проблеми «Джунглями бананової мавпи» Джо Армстронга [закрито]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 2 роки тому . У книзі Кодери на роботі Джо Армстронг заявив, що: Я думаю, що недостатня можливість …

6
Який кращий спосіб позбутися від занадто багатьох if / else - якщо з наступного фрагмента коду?
Я намагаюся написати сервлет, який виконує завдання на основі значення "action", переданого йому як вхідне. Ось зразок якого public class SampleClass extends HttpServlet { public static void action1() throws Exception{ //Do some actions } public static void action2() throws Exception{ //Do some actions } //And goes on till action9 public …

2
Стек, що розширює LinkedList. Порушення принципу заміни Ліскова?
Клас LinkedList існує з такими функціями, як add_first (), add_last (), add_after (), remove_first (), remove_last () та remove () Тепер існує клас Stack, який забезпечує такі функції, як push (), pop (), peek () або top (), і для реалізації цих методів він розширює методи класу LinkedList. Це порушення …

6
Очистити OOP спосіб відображення об’єкта на його презентаторі
Я створюю настільну гру (наприклад, шахи) на Java, де кожен твір є власним типом (наприклад Pawn, Rookтощо). Для частини програми GUI мені потрібно зображення для кожної з цих частин. Оскільки робити мислить, як rook.image(); порушує розділення інтерфейсу користувача та бізнес-логіки, я створять різного презентатора для кожної деталі, а потім зіставляю …

8
"Віддавайте перевагу складу над спадщиною" - Є єдиною причиною захисту від змін підпису?
Ця сторінка виступає за склад над успадкуванням наступним аргументом (перефразовуючи це моїми словами): Зміна підпису методу надкласу (який не був переосмислений у підкласі) спричиняє додаткові зміни у багатьох місцях, коли ми використовуємо Inheritance. Однак, коли ми використовуємо Composition, необхідна додаткова зміна є лише в одному місці: Підклас. Це насправді єдина …

4
Великий клас з єдиною відповідальністю
У мене Characterклас 2500 ліній, який: Відстежує внутрішній стан персонажа в грі. Навантажує та зберігає цю державу. Обробляє ~ 30 вхідних команд (як правило, = пересилає їх до Game, але на деякі команди лише для читання відповідають негайно). Отримує ~ 80 дзвінків Gameстосовно дій, які він вживає, та відповідних дій …

3
Це поганий дизайн OOP для моделювання, що включає інтерфейси?
Я розробляю власну маленьку програму OOP для імітації вампірів, вовків, людей та вантажівки і намагаюся реалізувати власне обмежене розуміння інтерфейсів. ( Я все ще резюмую тут і ще не маю реалізації коду, тому це швидше питання дизайну OOP ... Я думаю!) Чи правильно я шукаю «спільну поведінку» між цими класами …

4
Чи може С-структура поводитись так, ніби вона мала функцію?
Я використовую C і structs, де структура може мати членів, але не функцій. Припустимо для простоти, що я хочу створити структуру для рядків, які я називаю, strі я хочу бути в змозі робити, str.replace(int i, char c)де iє індекс рядка і cє символом, який замінить символ у позиції i. Чи …

3
З яких причин ви б використовували окреме розширення класу для кожного делегата в Swift?
Я працював підручником Рея Вендерліха і зауважив, що автор використовує розширення класу, щоб утримувати зворотні делегатські виклики, а не обробляти їх у самому класі, тобто: делегувати зворотні виклики всередині розширення класу: extension LogsViewController : UIPopoverPresentationControllerDelegate { func adaptivePresentationStyleForPresentationController(controller: UIPresentationController, traitCollection: UITraitCollection) -> UIModalPresentationStyle { ... } } на відміну від …

6
Запитання в одному з аргументів для структур введення залежності: Чому важко створити графік об'єкта?
Рамки введення залежностей, такі як Google Guice, дають таку мотивацію їх використання ( джерело ): Щоб побудувати об’єкт, спочатку будуєте його залежності. Але для побудови кожної залежності потрібні її залежності тощо. Тож коли ви будуєте об’єкт, вам справді потрібно будувати графік об’єкта. Створення графіків об'єктів вручну є трудомістким (...) і …

6
Як практикувати об’єктно-орієнтоване програмування? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Закрито 6 років тому . Заблокований . Це запитання та його відповіді заблоковано, оскільки це питання поза темою, але має історичне значення. Наразі не приймає нових відповідей чи взаємодій. Я завжди програмував на процедурних мовах і в даний …

6
Які функціональні особливості варті невеликої плутанини OOP за користь, яку вони приносять?
Після вивчення функціонального програмування в Haskell і F #, парадигма OOP здається задньою назад класами, інтерфейсами, об'єктами. Які аспекти ПП я можу залучити до роботи, які можуть зрозуміти мої колеги? Чи варто будь-які стилі FP поговорити з моїм начальником про перепідготовку моєї команди, щоб ми могли їх використовувати? Можливі аспекти …

4
Рейки: Закон плутанини Деметра
Я читаю книгу під назвою Rails AntiPatterns, і вони говорять про використання делегації, щоб уникнути порушення закону про деметер. Ось їх головний приклад: Вони вважають, що викликати щось подібне в контролері погано (і я згоден) @street = @invoice.customer.address.street Запропоноване ними рішення полягає в наступному: class Customer has_one :address belongs_to :invoice …

1
Чому імперативне програмування віддається перевазі функціональному програмуванню? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 6 років тому . Передумови: Я прихильник функціонального програмування, який працює в магазині VB.NET, де переважаючою ментальною моделлю …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.