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

Об'єктно-орієнтоване проектування - це процес планування системи взаємодіючих об’єктів з метою вирішення програмної проблеми.

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

2
Програмування до інтерфейсів, орієнтованих на дані
Є частина нашої кодової бази, написана у такому стилі: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List<IScheduledTask> Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl : IScheduledTask { …

8
Конструкції та методи захисту від помилкових нульових записів із бази даних
Одна частина моєї програми отримує дані з багатьох таблиць і стовпців моєї бази даних для обробки. Деякі стовпці можуть бути null, але в поточному контексті обробки це помилка. Це "теоретично" не повинно відбуватися, тому, якщо це буде, це вказує на погані дані або помилку в коді. Помилки мають різну суворість, …

5
Чи є суттєві недоліки залежно від абстракцій?
Я читав цю вікі за принципом стабільних абстракцій (SAP) . SAP зазначає, що чим стабільніший пакет, тим абстрактнішим він повинен бути. Це означає, що якщо пакет менш стабільний (з більшою ймовірністю зміниться), він повинен бути більш конкретним. Те, що я насправді не розумію, це так. Напевно, у всіх випадках, незалежно …

2
Яка різниця між власними типами та успадкуванням ознак у Scala?
Коли в Google з’являється багато відповідей на цю тему. Однак я не відчуваю, що жоден з них робить гарну роботу, щоб проілюструвати різницю між цими двома можливостями. Тому я хотів би спробувати ще раз, конкретно ... Що є те, що можна зробити за допомогою власних типів, а не з успадкуванням, …

4
Чи є інтерфейс списку герметичною абстракцією?
Якщо у мене є змінна, що містить, Listвона може містити об'єкти безлічі різних типів, наприклад, ArrayListабо LinkedList. Різниця між a LinkedListі an ArrayListдосить велика. Велика поведінка методів O значно відрізняється. Наприклад, сортування, Listа потім його використання для здійснення двійкових пошуків - це цілком нормально, ArrayListале це не має сенсу для …

7
Які функції необхідні для орієнтації на об'єкти?
Мені просто цікаво, які саме функції має надати мова чи бібліотека для того, щоб вона була визначена як "Об'єктно-орієнтована". Чи є об'єктна орієнтація чимось, що може бути досягнуто в будь -якій мові програмування загального призначення з гідними функціями? Або це щось, чого можна досягти лише на мовах, які спеціально рекламують, …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.