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

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


2
Как ООП «объекты» и «классы» организованы в памяти на языке ассемблера?
Как объекты организованы в памяти? Например, я знаю, что функция - это фрагмент кода в памяти, который ожидает параметры через стек и / или регистры и обрабатывает свой собственный кадр стека. Но объекты - это гораздо более сложная структура. Как они организованы? Имеет ли каждый объект «ссылки» на методы и …

3
Зачем тебе «я». в Python ссылаться на переменные экземпляра?
Я программировал на нескольких языках, таких как Java, Ruby, Haskell и Python. Мне приходится переключаться между многими языками в день из-за разных проектов, над которыми я работаю. Теперь проблема в том, что я часто забываю написать, так selfкак первый параметр в определениях функций в Python - это вызов методов для …

3
Композиция по наследству, но
Я пытаюсь научиться программировать и сталкиваюсь с противоречивой информацией, которая сбивает меня с толку. Я изучал ООП и что такое абстрактные классы / интерфейсы и как их использовать, но потом я читаю, что нужно «отдавать предпочтение композиции, а не наследованию». Я понимаю, что композиция - это когда один класс создает …

8
Является ли интерфейс, предоставляющий асинхронные функции, утечкой абстракции?
Я читаю книгу « Принципы, практики и модели внедрения зависимостей» и читаю концепцию утечки абстракций, которая хорошо описана в книге. В эти дни я делаю рефакторинг базы кода C #, используя внедрение зависимостей, так что вместо блокирующих используются асинхронные вызовы. Поступая так, я рассматриваю некоторые интерфейсы, которые представляют абстракции в …

2
В DDD доменная служба по сути является просто шаблоном фасада и / или посредника?
В домене, управляемом дизайном, уровень домена может иметь несколько (традиционных) сервисов. Например, для пользовательского домена мы можем иметь: UserFactory, который строит объекты User различными способами. UserRepository, который отвечает за взаимодействие со службами постоянства на уровне инфраструктуры Является ли UserService на уровне домена просто посредником и / или фасадом для этих …

5
Насколько функциональные вызовы влияют на производительность?
Извлечение функциональности в методы или функции является обязательным условием модульности кода, читабельности и совместимости, особенно в ООП. Но это означает, что будет сделано больше вызовов функций. Как разделение нашего кода на методы или функции в действительности влияет на производительность в современных * языках? * Самые популярные из них: C, Java, …

6
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); } Инфраструктурная часть: package com.example.infrastructure; // imports... public class JdbcProductRepo implements ProductRepo { private …

1
Использование классов-друзей для инкапсуляции закрытых функций-членов в C ++ - хорошая практика или злоупотребление?
Итак, я заметил, что можно избежать размещения частных функций в заголовках, выполнив что-то вроде этого: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // or whatever …

4
структура с бессмысленным значением по умолчанию
В моей системе я часто работаю с кодами аэропортов ( "YYZ", "LAX", "SFO"и т.д.), они всегда находятся в том же формате (3 письма, представленный в верхнем регистре). Система обычно имеет дело с 25-50 из этих (разных) кодов на запрос API, с общим количеством распределений более тысячи, они проходят через многие …

3
Каков общий способ обработки видимости в библиотеках?
Этот вопрос о том, когда использовать приватный, а когда использовать защищенный в классах, заставил меня задуматься. (Я распространю этот вопрос также на окончательные классы и методы, так как он связан. Я программирую на Java, но я думаю, что это актуально для каждого языка ООП) Принятый ответ говорит: Хорошее практическое правило: …

3
Лучшие практики для использования публичного, защищенного, частного?
Справедливо ли говорить, что privateпри кодировании чего-либо является хорошей практикой по умолчанию все по умолчанию ? А затем обновите его только до того момента, protectedкогда это потребуется подклассу, или publicесли это понадобится другому классу?

2
Что использует Smalltalk в «становятся:»?
become:Сообщение в Smalltalk вызывает один объект изменения в другой, влияя на все ссылки на него. Что использует эта языковая функция? Это используется в реальном коде? Это просто любопытство? Считается ли это хорошей / плохой практикой?

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

6
Как избежать удручения?
Мой вопрос касается особого случая суперкласса Animal. Моя Animalможет moveForward()и eat(). Sealрасширяется Animal. Dogрасширяется Animal. И есть специальное существо, которое также расширяется, Animalназывается Human. Humanреализует также метод speak()(не реализован Animal). В реализации абстрактного метода, который принимает, Animalя хотел бы использовать speak()метод. Это кажется невозможным без ударов. Джереми Миллер написал в …

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