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

15
«Неправильно» / Плохой дизайн, чтобы поместить работника темы / фона в класс?

У меня есть класс, который будет читать из Excel (C # и .Net 4), и в этом классе у меня есть фоновый работник, который будет загружать данные из Excel, в то время как пользовательский интерфейс может оставаться отзывчивым. У меня такой вопрос: плохо ли иметь фонового работника в классе? Должен ли я...

14
Может ли класс RxJava Flowable законно иметь 460 методов?

Я только начинаю с RxJava , Java-реализации ReactiveX (также известной как Rx и Reactive Extensions ). То , что действительно поразило меня массовый размер RxJava в текучий классе : он имеет 460 методы! По честному: Есть много методов, которые перегружены, что значительно увеличивает общее...

14
Насколько конкретным должен быть шаблон единой ответственности для классов?

Например, предположим, что у вас есть консольная игровая программа, которая имеет все виды методов ввода / вывода в консоль и из консоли. Будет ли это быть умным , чтобы держать их все в одном inputOutputклассе или разбить их на более конкретных классы , как startMenuIO, inGameIO, playerIO,...

14
Это плохая идея сделать метод класса, который передается переменным класса?

Вот что я имею в виду: class MyClass { int arr1[100]; int arr2[100]; int len = 100; void add(int* x1, int* x2, int size) { for (int i = 0; i < size; i++) { x1[i] += x2[i]; } } }; int main() { MyClass myInstance; // Fill the arrays... myInstance.add(myInstance.arr1, myInstance.arr2,...

14
Базовые классы как фабрики?

В выходные я писал некоторый код, и мне захотелось написать фабрику как статический метод в базовом классе. Мой вопрос состоит в том, чтобы просто знать, является ли это актуальным подходом? Я чувствую, что это не может быть связано с тем, что базовый класс знает о производном классе. Тем не менее,...

14
Абстрактный базовый класс с интерфейсами как поведением?

Мне нужно спроектировать иерархию классов для моего проекта на C #. По сути, функциональные возможности классов аналогичны классам WinForms, поэтому давайте возьмем в качестве примера инструментарий WinForms. (Однако я не могу использовать WinForms или WPF.) Есть некоторые основные свойства и...

14
Дизайн: метод Object против метода отдельного класса, который принимает Object в качестве параметра?

Например, лучше ли сделать: Pdf pdf = new Pdf(); pdf.Print(); или: Pdf pdf = new Pdf(); PdfPrinter printer = new PdfPrinter(); printer.Print(pdf); Другой пример: Country m = new Country("Mexico"); double ratio = m.GetDebtToGDPRatio(); или: Country m = new Country("Mexico"); Country us = new...

13
Должен ли я выставлять «вычисленное» значение как свойство или метод?

У меня есть класс C #, который представляет тип контента в системе управления веб-контентом. У нас есть поле, которое позволяет редактору веб-материалов вводить HTML-шаблон для отображения объекта. Он в основном использует синтаксис handlebars для подстановки значений свойств объекта в строку HTML:...

13
Большой класс с единственной ответственностью

У меня есть Characterкласс 2500 строк, который: Отслеживает внутреннее состояние персонажа в игре. Загружает и сохраняет это состояние. Обрабатывает ~ 30 входящих команд (обычно = перенаправляет их на Game, но некоторые команды только для чтения отвечают немедленно). Получает ~ 80 звонков Gameо...

12
Объектно-ориентированное программирование: геттеры / сеттеры или логические имена

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

11
Мысли и лучшие практики по статическим классам и членам [закрыто]

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

11
Где разместить общее соединение с базой данных для моих классов

У меня есть несколько классов (репозитории), которые выполняют задачу сохранения / извлечения некоторых объектов в / из базы данных; все они должны установить соединение с одной базой данных. Я думал, чтобы избежать переопределения ConnectionStringи SqlConnectionв каждом классе, передавая им...

11
Классы Python только с одним экземпляром: когда создавать (один) экземпляр класса и когда вместо этого работать с классом?

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

11
Использовать внедрение зависимостей для объектов данных?

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

11
Как должен быть разработан класс «Сотрудник»?

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

10
Можете ли вы иметь «пустые» аннотации / классы?

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

10
Как разрешить взаимозависимость классов в моем коде C ++?

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

10
Разумно ли расширять класс только для повторного использования одной функции?

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

10
Интерфейс и наследование: лучшее из обоих миров?

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