Вопросы с тегом «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 { public string …

8
Проекты и методы для защиты от ошибочных нулевых записей из базы данных
Одна часть моей программы извлекает данные из многих таблиц и столбцов в моей базе данных для обработки. Некоторые из столбцов могут быть null, но в текущем контексте обработки это ошибка. Этого не должно "теоретически" происходить, поэтому, если это так, это указывает на неверные данные или ошибку в коде. Ошибки имеют …

5
Существуют ли существенные недостатки в зависимости от абстракций?
Я читал эту вики о Принципе стабильных абстракций (SAP) . SAP заявляет, что чем стабильнее пакет, тем более абстрактным он должен быть. Это подразумевает, что если пакет менее стабилен (более вероятно, изменится), то он должен быть более конкретным. Что я действительно не понимаю, так это то, почему так должно быть. …

2
В чем разница между типами личности и наследованием признаков в Scala?
Когда Googled, появляется много ответов на эту тему. Однако я не чувствую, что кто-либо из них хорошо иллюстрирует разницу между этими двумя функциями. Поэтому я хотел бы попробовать еще раз, в частности ... Что можно сделать с помощью самоподтипов, а не наследования, и наоборот? Для меня должно быть какое-то количественное, …

4
Является ли интерфейс List утечкой абстракции?
Если у меня есть переменная, содержащая a, Listона может содержать объекты разных типов, например, ArrayListили LinkedList. Разница между а LinkedListи ArrayListдовольно большая. Поведение больших О методов сильно отличается. Например, сортировка Listи последующее использование его для выполнения бинарного поиска вполне подходит для, ArrayListно не имеет смысла для a LinkedList.

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