1.0.3
This commit is contained in:
parent
23c88eb642
commit
ddc05f8703
3
.gitignore
vendored
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
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Посетитель
|
||||||
Представляет собой операцию, которая
|
Представляет собой операцию, которая
|
||||||
будет выполнена над объектами группы классов.
|
будет выполнена над объектами группы классов.
|
||||||
Даёт возможность определить новую операцию
|
Даёт возможность определить новую операцию
|
||||||
|
Loading…
Reference in New Issue
Block a user