Оптимизация производительности .NET WEB приложения от Ангуляра до MS SQL

Современные .NET приложения обычно состоят из нескольких уровней: клиентская логика, веб-фреймворк, бизнес-логика, технология ORM и база данных. Например, конкретный стек может включать в себя Vue.js, ASP.NET WebAPI, C#, Entity Framework, MSSQL либо React.js, ASP.NET Core, NHibernate, C#, PostgreSQL. Если приложение во время своей работы подтормаживает, то проблемы с производительностью могут быть скрыты на одном конкретном уровне или одновременно на нескольких. Продолжить чтение «Оптимизация производительности .NET WEB приложения от Ангуляра до MS SQL»

Обзор основных метрик программного кода

Метрики программного кода, в отличие от Agile или Performance метрик, несут истинную ценность только для программиста. Продолжить чтение «Обзор основных метрик программного кода»

Шаблоны проектирования: Rules

Сложная логика приложения часто приводит к нагромождению условных операторов в разных частях проекта. С точки зрения метрик ухудшаются такие показатели как Cyclomatic complexity и Maintainability index, с точки зрения принципов проектирования могут нарушаться SRP, OCP, DRY, а простыми словами — страдают читабельность кода и простота внесения в него изменений.

Продолжить чтение «Шаблоны проектирования: Rules»

Замена примитива объектом в доменной модели

Типы данных можно разделить на примитивные и пользовательские. Примитивы хранят некоторое скалярное значение, например число или символ (int, bool, char, decimal и др). Пользовательскими типами являются те, которые создает непосредственно программист, с целью сгруппировать несколько примитивов в одну логическую единицу и добавить к ним логику. Продолжить чтение «Замена примитива объектом в доменной модели»

Классификация шаблонов разработки ПО

О пользе шаблонов сказано много. Знание и уместное их применение ускоряет разработку программного обеспечения, а также уменьшает стоимость сопровождения кода. Шаблоны позволяют программистам эффективно общаться между собой, так как вместо того, чтобы говорить: Ну нам нужно сделать такой объект, который добавляет поведение другому объекту на этапе выполнения программы, достаточно сказать: Тут нужен декоратор. По причине необъятности отрасли разработки ПО, существует не меньше сотни различных шаблонов. Попробуем их кратко классифицировать.

Продолжить чтение «Классификация шаблонов разработки ПО»

Какую пользу несет неизменяемость типа String

Тип String является неизменяемым типом данных, ведь он не может быть модифицирован после создания. Такая простая особенность открывает для разработчика большое количество преимуществ, характерных не только для строк, а и для других неизменяемых типов данных: структур, делегатов, собственных неизменяемых классов.

Продолжить чтение «Какую пользу несет неизменяемость типа String»