Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 086199f

Browse files
Update README.md
1 parent 5722405 commit 086199f

File tree

1 file changed

+42
-1
lines changed

1 file changed

+42
-1
lines changed

‎README.md‎

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,48 @@ public class Samsung : Phone
660660
public override string ToString() => $"Самсунг: {base.ToString()} Включена ли фронтальная камера = {IsFrontCamera}";
661661
}
662662
```
663-
:three:
663+
:three: Создадим интерфейс создателя телефонов IPhoneDeveloper:
664+
```C#
665+
/// <summary>
666+
/// Содержит методы для рабработчика телефонов.
667+
/// </summary>
668+
public interface IPhoneDeveloper
669+
{
670+
/// <summary>
671+
/// Создание телефона.
672+
/// </summary>
673+
/// <returns>Телефон.</returns>
674+
Phone CreatePhone();
675+
}
676+
```
677+
:four: Создадим разработчиков телефонов Нокиа и Самсунга, реализующих интерфейсы __IPhoneDeveloper__:
678+
```C#
679+
/// <summary>
680+
/// Разработчик телефонов фирмы Нокиа.
681+
/// </summary>
682+
public class NokiaDeveloper : IPhoneDeveloper
683+
{
684+
/// <summary>
685+
/// Создание телефона.
686+
/// </summary>
687+
/// <returns>Телефон.</returns>
688+
public Phone CreatePhone() => new Nokia();
689+
}
690+
691+
/// <summary>
692+
/// Разработчик телефонов фирмы Самсунг.
693+
/// </summary>
694+
public class SamsungDeveloper
695+
{
696+
/// <summary>
697+
/// Создание телефона.
698+
/// </summary>
699+
/// <returns>Телефон.</returns>
700+
public Phone CreatePhone() => new Samsung();
701+
}
702+
```
703+
:white_check_mark: __Преимущества паттерна Factory Method__: клонирование объектов без привязки к конкретным классам, сокращение кода инициализации экземплятор классов<br>
704+
:x: __Недостатки__: Проблемы с клонированием составных объектов, то есть, тех объектов, которые внутри содержат другие объекты.
664705
## Структурные паттерны
665706
__Структурные паттерны__ (Structural) - цель их применения заключается в том, что благодаря им вы можете совмещать и сочетать сущности вместе.
666707
___

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /