Публикации по теме 'design-principles'
Что такое принцип единой ответственности?
Принцип единой ответственности, или сокращенно SRP, является частью «S» принципов SOLID.
Этот принцип представил Роберт С. Мартин (он же дядя Боб). Вы можете просмотреть более подробное объяснение SRP, перейдя по этой ссылке в его сообщение в блоге .
Почему вам нужно заботиться о таких принципах проектирования, как SRP?
Прежде чем я углублюсь в SRP, давайте обсудим, почему это вообще имеет значение. Короче говоря, потому что легко создать программу, которая будет работать..
Понимание принципа единой ответственности
Принципы проектирования SOLID
Принцип единой ответственности является первым и самым простым из принципов SOLID дизайна ; все же трудно получить право. Принципы SOLID – это набор принципов проектирования, призванных помочь разработчикам создавать хорошее, удобное в сопровождении, надежное и легко расширяемое программное обеспечение. Таким образом, хорошее понимание этих принципов необходимо для написания хорошего программного обеспечения.
SOLID — это аббревиатура пяти..
Вопросы по теме 'design-principles'
Какой список шаблонов и принципов должен знать программист?
Я занимаюсь кодированием несколько лет и до сих пор чувствую, что мои знания недостаточно широки, чтобы стать профессионалом. Я изучил несколько книг, связанных с шаблонами проектирования, но знаю, что есть много других.
Так может ли кто-нибудь...
983 просмотров
schedule
22.11.2022
Комментарии к моему дизайну v2
Я опубликовал не так давно диаграмму классов для приложения, которое я делаю. Получил несколько полезных советов и принялся за работу. Конечно, дизайн — это сложно! В любом случае, я сделал версию 2.0, но столкнулся с другими вещами. Может быть,...
170 просмотров
schedule
16.10.2023
Какие методы могут защитить от неожиданного отложенного выполнения с IEnumerable‹T› в качестве аргумента?
Есть несколько вопросов, подобных этому, которые касаются правильных типов ввода и вывода вот так . Мой вопрос заключается в том, какие передовые методы, именование методов, выбор типа параметра или подобное могут защитить от аварий с отложенным...
1295 просмотров
schedule
03.02.2023
Синхронизируйте асинхронные вызовы от более чем одного объекта
У меня около 10 объектов. Каждый объект разного класса. Запросы, отправляемые этим объектам (вызовы методов с возвращаемыми значениями), поступают из разных потоков.
Мне нужно синхронизировать эти вызовы методов, которые должны выполняться только...
577 просмотров
schedule
09.02.2024
Как подписаться на события, возникающие в нескольких экземплярах класса?
Я работаю над небольшим проектом Unity с С#.
У меня есть класс UnitManager , который содержит список экземпляров класса Unit . Я хочу вызвать событие всякий раз, когда свойство (например, здоровье) изменяется в экземпляре Unit . Я также...
2474 просмотров
schedule
29.12.2023
Базовый класс несет одну ответственность, а производный класс — другую. Соответствует ли это SRP?
У меня есть VolumeButton, который является производным от ButtonModifier. Если я помещу свою бизнес-логику (увеличение/уменьшение громкости, отключение звука и т. д.) в VolumeButton, включу/отключу логику для базового класса ButtonModifier....
59 просмотров
schedule
24.10.2023
*Зачем вообще нужны шаблоны итераторов?*
Так что я откинулся на спинку кресла, весь расслабленный и дерьмовый, восстанавливая свои знания о шаблонах проектирования, все идет хорошо и прекрасно, пока я жду выходного адреналина. Моя жизнь не может быть более гладкой. Следующее, что вы...
77 просмотров
schedule
24.05.2024
Хорошая практика для отображения формы из UserControl
Я хочу следовать шаблонам проектирования передовой практики при разработке приложений WinForms.
У меня есть UserControl с кнопкой «Добавить», чтобы открыть новую форму, где пользователь может искать сотрудников. Как я могу организовать свой код?
112 просмотров
schedule
26.07.2023
Управление версиями API функций Azure — как структурировать мой код?
Я создал демонстрационное приложение микросервисов, реализованное с помощью Azure Function Apps. Для разделения задач я создал уровень API, бизнес-уровень и уровень данных.
Уровень API, являющийся функциональным приложением, вызывает...
2990 просмотров
schedule
29.11.2023
Инверсия управления - это закономерность?
По некоторым данным, IoC - это принцип .
https://www.tutorialsteacher.com/ioc/introduction
Но в другом месте это шаблон .
Что такое инверсия управления?
Паттерны Inversion of Control (IoC) и Dependency Injection (DI)...
380 просмотров
schedule
05.07.2023
Как мне хранить ~ 400 пар "ключ-значение" для моего приложения для Android?
Как лучше всего хранить ~ 400 пар ключ-значение для Android-приложения? Эти значения будут установлены при первоначальной настройке приложения и после этого изменяться крайне редко. Однако они используются один раз для каждого приложения в качестве...
158 просмотров
schedule
26.04.2022
Как этот пример нарушает LSP, что затем приводит к нарушению OCP?
Из Agile Principles, Patterns, and Practices in C# Роберта Мартина,
Листинг 10-1. Нарушение LSP, вызывающее нарушение OCP
struct Point {double x, y;}
public enum ShapeType {square, circle};
public class Shape
{...
180 просмотров
schedule
12.12.2022
Наследование или композиция в объектно-ориентированном дизайне
Я видел много диаграмм классов на популярных веб-сайтах и курсах дизайна, определяющих отношения с помощью композиции, например: у администратора есть экземпляр человека У судьи есть экземпляр человека
По моему мнению, разве это не должно быть в...
21 просмотров
schedule
07.06.2023