This commit is contained in:
Dvurechensky 2025-05-12 03:32:04 +03:00
parent 23c88eb642
commit ddc05f8703
54 changed files with 481 additions and 56 deletions

3
.gitignore vendored

@ -6,7 +6,8 @@
# #
# or wget: # or wget:
# wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore # wget --no-check-certificate http://gist.githubusercontent.com/kmorcinek/2710267/raw/.gitignore
pre_commit.ps1
pre_commit.log
# User-specific files # User-specific files
*.suo *.suo
*.user *.user

@ -1,4 +1,12 @@
/* /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/*
* Глава 17: Принцип единственной обязанности (SOLID SRP) * Глава 17: Принцип единственной обязанности (SOLID SRP)
* *
* - инкапсуляция сущности с целью организации архитектуры * - инкапсуляция сущности с целью организации архитектуры

@ -1,4 +1,12 @@
/* /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/*
* Глава 18: Принцип открытости/закрытости (SOLID SRP) * Глава 18: Принцип открытости/закрытости (SOLID SRP)
* *
* Автор: Роберт Мартин (Дядя Боб) * Автор: Роберт Мартин (Дядя Боб)

@ -1,4 +1,12 @@
/* /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/*
* Глава 19: Принцип подстановки Барбары Лисков (SOLID SRP) * Глава 19: Принцип подстановки Барбары Лисков (SOLID SRP)
* *
* Автор: Роберт Мартин (Дядя Боб) * Автор: Роберт Мартин (Дядя Боб)

@ -1,4 +1,12 @@
/* /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/*
* Глава 20: Принцип разделения интерфейсов (SOLID SRP) * Глава 20: Принцип разделения интерфейсов (SOLID SRP)
* *
* Автор: Роберт Мартин (Дядя Боб) * Автор: Роберт Мартин (Дядя Боб)

@ -1,4 +1,12 @@
/* /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/*
* Глава 21: Принцип инверсии зависимостей (SOLID SRP) * Глава 21: Принцип инверсии зависимостей (SOLID SRP)
* *
* Автор: Роберт Мартин (Дядя Боб) * Автор: Роберт Мартин (Дядя Боб)

@ -1,4 +1,12 @@
/* Абстрактная фабрика /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Абстрактная фабрика
Предоставляет интерфейс для создания Предоставляет интерфейс для создания
групп связанных или зависимых объектов, групп связанных или зависимых объектов,
не указывая их конкретный класс не указывая их конкретный класс

@ -1,4 +1,12 @@
/* Адаптер /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Адаптер
Конвенртирует интерфейс класса в другой интерфейс, Конвенртирует интерфейс класса в другой интерфейс,
ожидаемый клиентом. Позволяет классам ожидаемый клиентом. Позволяет классам
с разными интерфейсами работать вместе. с разными интерфейсами работать вместе.

@ -1,3 +1,11 @@
/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base.UserLibrary.Tests namespace Base.UserLibrary.Tests
{ {
[TestClass] [TestClass]
@ -12,11 +20,11 @@ namespace Base.UserLibrary.Tests
private UserManagerMsTest manager = new UserManagerMsTest(); private UserManagerMsTest manager = new UserManagerMsTest();
/// <summary> /// <summary>
/// DataSource - определение источника данных /// DataSource - определение источника данных
/// 1 параметр - имя провайдера /// 1 параметр - имя провайдера
/// 2 параметр - строка подключения или путь к файлу /// 2 параметр - строка подключения или путь к файлу
/// 3 параметр - имя таблицы или элемента XML /// 3 параметр - имя таблицы или элемента XML
/// 4 параметр - как происходит доступ к записям из источника данных /// 4 параметр - как происходит доступ к записям из источника данных
/// </summary> /// </summary>
[DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML", [DataSource("Microsoft.VisualStudio.TestTools.DataSource.XML",
"TestData.xml", "TestData.xml",

@ -1 +1,9 @@
/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
global using Microsoft.VisualStudio.TestTools.UnitTesting; global using Microsoft.VisualStudio.TestTools.UnitTesting;

@ -1,4 +1,12 @@
using System; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using System;
public class Base public class Base

@ -1,4 +1,12 @@
namespace Base; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base;
public class AssertMsTest public class AssertMsTest
{ {

@ -1,4 +1,12 @@
namespace Base /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base
{ {
/// <summary> /// <summary>
/// Тестовый класс статических реализаций /// Тестовый класс статических реализаций

@ -1,4 +1,12 @@
using Newtonsoft.Json; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using Newtonsoft.Json;
using static Base.Records; using static Base.Records;
namespace Base; namespace Base;

@ -1,19 +1,27 @@
/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using Base; using Base;
namespace BaseTests; namespace BaseTests;
/// <summary> /// <summary>
/// Модульный тест /// Модульный тест
/// Конфигурирование: /// Конфигурирование:
/// Чтобы добавить возможность вызывать методы какого-либо проекта /// Чтобы добавить возможность вызывать методы какого-либо проекта
/// Нажимаем правой кнопкой на зависимости в данном проекте /// Нажимаем правой кнопкой на зависимости в данном проекте
/// Выбираем пункт - добавить ссылку на проект /// Выбираем пункт - добавить ссылку на проект
/// </summary> /// </summary>
[TestClass] [TestClass]
public class TestsMain public class TestsMain
{ {
/// <summary> /// <summary>
/// Реализация тестового метода модульного теста /// Реализация тестового метода модульного теста
/// </summary> /// </summary>
[TestMethod] [TestMethod]
public void TestMethod1() public void TestMethod1()
@ -26,6 +34,6 @@ public class TestsMain
int actual = classMain.countBuild; int actual = classMain.countBuild;
// assert // assert
Assert.AreEqual(expected, actual, 0.001, "BuildCount not correctly"); //сравниваем полученное значение с требуемым Assert.AreEqual(expected, actual, 0.001, "BuildCount not correctly"); //сравниваем полученное значение с требуемым
} }
} }

@ -1,4 +1,12 @@
using System.Diagnostics; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using System.Diagnostics;
namespace Base.Tests; namespace Base.Tests;

@ -1,4 +1,12 @@
 /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using System.Diagnostics; using System.Diagnostics;
using System.Xml.Linq; using System.Xml.Linq;

@ -1,4 +1,12 @@
namespace Base.Tests; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base.Tests;
[TestClass] [TestClass]
public class AssemblyInit public class AssemblyInit

@ -1,4 +1,12 @@
namespace Base.Tests; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base.Tests;
[TestClass] [TestClass]
public class AssertMethods public class AssertMethods

@ -1,4 +1,12 @@
namespace Base.Tests; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base.Tests;
/// <summary> /// <summary>
/// Проверяет результат работы с коллекциями /// Проверяет результат работы с коллекциями

@ -1,4 +1,12 @@
using System.Text.RegularExpressions; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using System.Text.RegularExpressions;
namespace Base.Tests; namespace Base.Tests;

@ -1,4 +1,12 @@
namespace Base.Tests; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Base.Tests;
[TestClass] [TestClass]
public class ExpectingExceptions public class ExpectingExceptions

@ -1 +1,9 @@
/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
global using Microsoft.VisualStudio.TestTools.UnitTesting; global using Microsoft.VisualStudio.TestTools.UnitTesting;

@ -1,4 +1,12 @@
/* Мост /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Мост
Разделяет абстракцию и реализацию так, Разделяет абстракцию и реализацию так,
чтобы они могли изменяться независимо друг от друга чтобы они могли изменяться независимо друг от друга
*/ */

@ -1,4 +1,12 @@
/* Строитель /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Строитель
Разделяет создание сложного объекта Разделяет создание сложного объекта
и его инициализацию так, что одинаковый и его инициализацию так, что одинаковый
процесс построения может может создавать процесс построения может может создавать

@ -1,4 +1,12 @@
/* Цепочка обязанностей /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Цепочка обязанностей
Избегает связывание отправителя запроса Избегает связывание отправителя запроса
с его получателем, давая возможность обработать с его получателем, давая возможность обработать
запрос более чем одному объекту. Связывает запрос более чем одному объекту. Связывает

@ -1,4 +1,12 @@
/* Команда /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Команда
Инкапсулирует запрос в виде объекта Инкапсулирует запрос в виде объекта
позволяя передавать их клиентам в позволяя передавать их клиентам в
качестве параметров, ставить в очередь, качестве параметров, ставить в очередь,

@ -1,4 +1,12 @@
/* Компоновщик /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Компоновщик
Компонует объекты в древовидную структуру по принципу "часть-целое", Компонует объекты в древовидную структуру по принципу "часть-целое",
представляя их в виде иерархии. Позволяет представляя их в виде иерархии. Позволяет
клиенту одинаково обращаться как к отдельному, клиенту одинаково обращаться как к отдельному,

@ -1,4 +1,12 @@
/* Декоратор /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Декоратор
Динамически предоставляет объекту Динамически предоставляет объекту
дополнительные возможности. Представляет дополнительные возможности. Представляет
собой гибкую альтернативу наследованию собой гибкую альтернативу наследованию

@ -1,4 +1,12 @@
using System.Collections; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using System.Collections;
using System.Collections.Concurrent; using System.Collections.Concurrent;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Diagnostics; using System.Diagnostics;

@ -1,4 +1,12 @@
/* Фасад /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Фасад
Предоставляет единый интерфейс к группе Предоставляет единый интерфейс к группе
интерфейсов подсистемы. Определяет высокоуровневый интерфейсов подсистемы. Определяет высокоуровневый
интерфейс, делая систему проще для использования. интерфейс, делая систему проще для использования.

@ -1,4 +1,12 @@
/* Фабричный метод /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Фабричный метод
Определяет интерфейс для создания объекта, Определяет интерфейс для создания объекта,
но позволяет подклассам решать, какой класс создавать. но позволяет подклассам решать, какой класс создавать.
Позволяет делегировать создание класса Позволяет делегировать создание класса

@ -1,4 +1,12 @@
/* Гибкий(плавный, текучий) строитель (интерфейс) /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Гибкий(плавный, текучий) строитель (интерфейс)
Позволяет упростить процесс создания сложных Позволяет упростить процесс создания сложных
объектов с помощью методов-цепочек, которые объектов с помощью методов-цепочек, которые
наделяют объект каким-то определенным качеством наделяют объект каким-то определенным качеством

@ -1,4 +1,12 @@
/* Приспособленец /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Приспособленец
Благодаря совместному использованию, Благодаря совместному использованию,
поддерживает эффективную работу поддерживает эффективную работу
с большим количеством объектов. с большим количеством объектов.

@ -1,4 +1,12 @@
/* Интерпретатор /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Интерпретатор
Получая формальный язык, определяет Получая формальный язык, определяет
представление его грамматики и интерпретатор, представление его грамматики и интерпретатор,
использующий это представление для обработки использующий это представление для обработки

@ -1,4 +1,12 @@
/* Итератор /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Итератор
Предоставляет способ последовательного Предоставляет способ последовательного
доступа к множеству, независимо от его доступа к множеству, независимо от его
внутреннего устройства внутреннего устройства

@ -1,10 +1,18 @@
/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace LetCode.Tests namespace LetCode.Tests
{ {
[TestClass] [TestClass]
public class Tests public class Tests
{ {
/// <summary> /// <summary>
/// Индексы чисел в массиве образующих число target /// Индексы чисел в массиве образующих число target
/// </summary> /// </summary>
[TestMethod] [TestMethod]
public void TwoSumTest() public void TwoSumTest()

@ -1 +1,9 @@
/*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
global using Microsoft.VisualStudio.TestTools.UnitTesting; global using Microsoft.VisualStudio.TestTools.UnitTesting;

@ -1,4 +1,12 @@
public static class LetCodeTasks /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
public static class LetCodeTasks
{ {
/// <summary> /// <summary>
/// Какие числа массива дают в сумме указанное число /// Какие числа массива дают в сумме указанное число

@ -1,4 +1,12 @@
/* Посредник /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Посредник
Определяет объект инкапсулирующий способ Определяет объект инкапсулирующий способ
взаимодействия объектов. Обеспечивает слабую связь, взаимодействия объектов. Обеспечивает слабую связь,
избавляя их от необходимости ссылаться друг на друга избавляя их от необходимости ссылаться друг на друга

@ -1,4 +1,12 @@
/* Хранитель + Одиночка /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Хранитель + Одиночка
Не нарушая инкапсуляцию, определяет Не нарушая инкапсуляцию, определяет
и сохраняет внутреннее состояние объекта и и сохраняет внутреннее состояние объекта и
позволяет позже восстановить объект в этом позволяет позже восстановить объект в этом

@ -1,4 +1,12 @@
/* Наблюдатель /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Наблюдатель
Определяет зависимость один ко многим Определяет зависимость один ко многим
между объектами так, что когда один меняет между объектами так, что когда один меняет
своё состояние, все зависимые объекты оповещаются своё состояние, все зависимые объекты оповещаются

@ -1,4 +1,12 @@
/* Прототип /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Прототип
Определяет несколько видов объектов, Определяет несколько видов объектов,
чтобы при создании использовать объект-прототип чтобы при создании использовать объект-прототип
и создаёт новые объекты, копируя прототип и создаёт новые объекты, копируя прототип

@ -1,4 +1,12 @@
using Microsoft.EntityFrameworkCore; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
using Microsoft.EntityFrameworkCore;
/* Заместитель /* Заместитель
Предоставляет объект-заместитель другого объекта Предоставляет объект-заместитель другого объекта
для контроля доступа к нему для контроля доступа к нему

@ -1,4 +1,12 @@
/* Одиночка /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Одиночка
Гарантирует что класс имеет только Гарантирует что класс имеет только
один экземпляр и представляет глобальную один экземпляр и представляет глобальную
точку доступа к нему точку доступа к нему

@ -1,4 +1,12 @@
/* Состояние /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Состояние
Позволяет объекту изменять Позволяет объекту изменять
своё поведение в зависимости от своё поведение в зависимости от
внутреннего состояния внутреннего состояния

@ -1,4 +1,12 @@
namespace Strategy; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Strategy;
internal interface ILogReader internal interface ILogReader
{ {

@ -1,4 +1,12 @@
namespace Strategy; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Strategy;
public enum LogType public enum LogType
{ {

@ -1,4 +1,12 @@
namespace Strategy; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Strategy;
public class LogFileReader : ILogReader public class LogFileReader : ILogReader
{ {

@ -1,4 +1,12 @@
namespace Strategy; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Strategy;
public class LogProcessor public class LogProcessor
{ {

@ -1,4 +1,12 @@
/* Стратегия /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Стратегия
Определяет группу алгоритмов, Определяет группу алгоритмов,
инкапсулирует их и делает взаимозаменяемыми. инкапсулирует их и делает взаимозаменяемыми.
Позволяет изменять алгоритм независимо от клиентов, Позволяет изменять алгоритм независимо от клиентов,

@ -1,4 +1,12 @@
namespace Strategy; /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
namespace Strategy;
public class WindowsEventLogReader : ILogReader public class WindowsEventLogReader : ILogReader
{ {

@ -1,4 +1,12 @@
/* Шаблонный метод /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Шаблонный метод
Определяет алгоритм, некоторые этапы которого Определяет алгоритм, некоторые этапы которого
делегируются подклассам. Позволяет подклассам делегируются подклассам. Позволяет подклассам
переопределить эти этапы, не меняя структуру алгоритма. переопределить эти этапы, не меняя структуру алгоритма.

@ -1,4 +1,12 @@
/* Посетитель /*
* Author: Nikolay Dvurechensky
* Site: https://www.dvurechensky.pro/
* Gmail: dvurechenskysoft@gmail.com
* Last Updated: 12 мая 2025 03:31:02
* Version: 1.0.7
*/
/* Посетитель
Представляет собой операцию, которая Представляет собой операцию, которая
будет выполнена над объектами группы классов. будет выполнена над объектами группы классов.
Даёт возможность определить новую операцию Даёт возможность определить новую операцию