Вопросы с тегом «class-design»

Общие рекомендации о том, как разрабатывать классы с использованием лучших известных отраслевых практик.

4
Объектно-ориентированное программирование: геттеры / сеттеры или логические имена
В настоящее время я думаю об интерфейсе для класса, который я пишу. Этот класс содержит стили для символа, например, выделен ли он жирным шрифтом, курсивом, подчеркнут и т. Д. Я уже два дня спорю сам с собой о том, следует ли использовать методы получения / установки или логические имена для …

3
Как должен быть разработан класс «Сотрудник»?
Я пытаюсь создать программу для управления сотрудниками. Однако я не могу понять, как спроектировать Employeeкласс. Моя цель - иметь возможность создавать и управлять данными о сотрудниках в базе данных, используя Employeeобъект. Базовая реализация, о которой я подумал, была такой простой: class Employee { // Employee data (let's say, dozens of …

2
Классы Python только с одним экземпляром: когда создавать (один) экземпляр класса и когда вместо этого работать с классом?
Данный класс Python, который будет создан только один раз, то есть будет только один объект класса. Мне было интересно, в каких случаях имеет смысл создавать отдельный экземпляр класса, а не работать непосредственно с классом. Есть похожий вопрос , но он имеет другую направленность: речь идет о группировании глобальных переменных и …

2
Мысли и лучшие практики по статическим классам и членам [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . Мне очень любопытны мысли и лучшие отраслевые практики, касающиеся статических членов …
11 c#  class-design 

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

2
Где разместить общее соединение с базой данных для моих классов
У меня есть несколько классов (репозитории), которые выполняют задачу сохранения / извлечения некоторых объектов в / из базы данных; все они должны установить соединение с одной базой данных. Я думал, чтобы избежать переопределения ConnectionStringи SqlConnectionв каждом классе, передавая им открытую связь. Тогда где / когда лучшее место / время, чтобы …
11 c#  sql  class-design 

5
Как разрешить взаимозависимость классов в моем коде C ++?
В моем проекте C ++ у меня есть два класса, Particleи Contact. В Particleклассе, у меня есть переменная - член std::vector<Contact> contacts, содержащий все контакты Particleобъекта, а также соответствующие функции - члены getContacts()и addContact(Contact cont). Таким образом, в «Particle.h» я включаю «Contact.h». В Contactклассе я хотел бы добавить код в …

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

2
Разумно ли расширять класс только для повторного использования одной функции?
Я разрабатываю ряд пост-фильтров для сайта WordPress, и я создал первые 4 с одним классом. Последние два достаточно различны по объему, чтобы разделить только одну функцию (функцию для создания конечных ссылок) в своих классах. Разумно ли в данном случае или в любом другом подобном гипотетическом случае расширить исходный класс, чтобы …

5
Можете ли вы иметь «пустые» аннотации / классы?
Конечно, вы можете, мне просто интересно, рационально ли так проектировать. Я делаю клон прорыва и занимаюсь дизайном классов. Я хотел использовать наследование, хотя мне и не нужно, чтобы применить то, что я изучил в C ++. Я думал о дизайне класса и придумал что-то вроде этого: GameObject -> базовый класс …

4
Может ли переименование метода сохранить инкапсуляцию?
Я читал эту страницу о том, когда геттеры / сеттеры оправданы, и ОП дал следующий пример кода: class Fridge { int cheese; void set_cheese(int _cheese) { cheese = _cheese; } int get_cheese() { return cheese; } } void go_shopping(Fridge fridge) { fridge.set_cheese(fridge.get_cheese() + 5); } В признанных ответ гласит: Кстати, …

5
Слишком много абстракций, затрудняющих расширение кода
У меня проблемы с тем, что я считаю слишком большой абстракцией в базе кода (или, по крайней мере, имею дело с ней). Большинство методов в кодовой базе были абстрагированы для получения самого высокого родителя A в кодовой базе, но у дочернего элемента B этого родителя есть новый атрибут, который влияет …

4
Как возразить против такого «абсолютно публичного» мышления при проектировании классов бизнес-объектов?
Мы проводим много модульного тестирования и рефакторинга наших бизнес-объектов, и у меня, похоже, совсем другие мнения о дизайне классов, чем у других коллег. Пример класса, который я не фанат: public class Foo { private string field1; private string field2; private string field3; private string field4; private string field5; public Foo() …

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

5
Откуда мы знаем, что предпочтение композиции перед обобщением - это всегда правильный выбор?
Независимо от того, существует объект физически или нет, мы можем выбрать его моделирование различными способами. Мы могли бы произвольно использовать обобщение или композицию во многих случаях. Тем не менее, принцип GoF «отдавай предпочтение композиции обобщению [sic]» побуждает нас использовать композицию. Итак, когда мы моделируем, например, линию, мы создаем класс, который …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.