Запитання з тегом «class-design»

Загальні вказівки щодо проектування класів з найкращими відомими галузевими методами.

5
Як можна розкласти конструктор?
Скажімо, у мене клас Enemy, і конструктор виглядав би так: public Enemy(String name, float width, float height, Vector2 position, float speed, int maxHp, int attackDamage, int defense... etc.){} Це виглядає погано, оскільки у конструктора є стільки параметрів, але коли я створюю екземпляр Enemy, мені потрібно вказати всі ці речі. Я …

9
Коли слід використовувати приватний / внутрішній клас?
Щоб уточнити, про що я прошу public class A{ private/*or public*/ B b; } vs. public class A{ private/*or public*/ class B{ .... } } Я точно можу придумати деякі причини використання тієї чи іншої, але те, що я дійсно хотів би побачити, - це переконливі приклади, які показують, що …

7
Яка ідея іменування класів із суфіксом "Інформація", наприклад: "SomeClass" та "SomeClassInfo"?
Я працюю над проектом, який стосується фізичних пристроїв, і мене бентежить, як правильно назвати деякі класи цього проекту. Враховуючи, що фактичні пристрої (датчики та приймачі) - це одне, а їх представлення в програмному забезпеченні - інше, я думаю про те, щоб назвати деякі класи з шаблоном назви суфікса "Інформація". Наприклад, …

4
Чому слід визначати об’єкт Java за допомогою інтерфейсу (наприклад, Map), а не реалізації (HashMap)
У більшості кодів Java я бачу, як люди заявляють такі об'єкти Java: Map<String, String> hashMap = new HashMap<>(); List<String> list = new ArrayList<>(); замість: HashMap<String, String> hashMap = new HashMap<>(); ArrayList<String> list = new ArrayList<>(); Чому є перевагу визначати об’єкт Java за допомогою інтерфейсу, а не реальної реалізації, яка насправді …

7
У який момент непорушні заняття стають тягарем?
Під час проектування класів для вашої моделі даних я прочитав, що може бути корисним для створення незмінних об'єктів, але в який момент перевантаженість списків параметрів конструктора та глибоких копій стає занадто великою, і вам доведеться відмовитися від незмінного обмеження? Наприклад, тут є непорушний клас для представлення названої речі (я використовую …


4
Це "Неправильно" / Погана конструкція, щоб перетворити нитку / фонового працівника в клас?
У мене є клас, який буде читати з Excel (C # і .Net 4), і в цьому класі я маю фонового працівника, який завантажуватиме дані з Excel, поки інтерфейс користувача може залишатися чуйним. Моє запитання таке: чи поганий дизайн мати фонового працівника в класі? Чи повинен я створити свій клас …


3
Чи може законно мати клас RxJava Flowable законно 460 методів?
Я тільки починаю роботу з RxJava , реалізацією Java ReactiveX (також відомим як Rx і Reactive Extensions ). Те , що дійсно вразило мене масовий розмір RxJava в текучий класі : він має 460 методи! Справедливості: Існує маса перевантажених методів, що значно зменшує загальну кількість методів. Можливо, цей клас слід …

4
Наскільки специфічним повинен бути шаблон єдиної відповідальності для занять?
Наприклад, припустимо, що у вас є консольна ігрова програма, яка має всі види методів введення / виводу на консоль і з них. Чи буде це бути розумним , щоб тримати їх все в одному inputOutputкласі або розбити їх на більш конкретних класи , як startMenuIO, inGameIO, playerIO, gameBoardIOі т.д. , …

5
Базові класи як фабрики?
Я писав якийсь код у вихідні, і я виявив, що хочу написати фабрику як статичний метод у базовому класі. Моє запитання полягає в тому, щоб просто знати, чи це підхід # idomatic? Моє відчуття, що це може бути не тим, що базовий клас має знання похідного класу. Однак, я не …
14 c#  class-design 

3
Анотація базового класу з інтерфейсами як поведінка?
Мені потрібно розробити ієрархію класів для мого проекту C #. В основному, функції класу схожі на класи WinForms, тому давайте візьмемо інструментарій WinForms як приклад. (Однак я не можу використовувати WinForms або WPF.) Є деякі основні властивості та функції, які повинен надати кожен клас. Розміри, положення, колір, видимість (справжня / …

2
Дизайн: Метод об'єкта проти методу окремого класу, який приймає 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 Country("US"); DebtStatistics ds = new …

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

2
Чи варто виставляти «обчислене» значення як властивість чи метод?
У мене є клас C #, який представляє тип вмісту в системі управління веб-контентом. У нас є поле, яке дозволяє редактору веб-вмісту вводити HTML-шаблон для відображення об’єкта. В основному він використовує синтаксис рулі для заміни значень властивостей об'єкта в HTML-рядок: <h1>{{Title}}</h1><p>{{Message}}</p> З точки зору дизайну класу, чи слід виставляти відформатований …

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