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 a1d6cfe

Browse files
Update README.md
1 parent 7f9af7d commit a1d6cfe

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed

‎README.md‎

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,59 @@ public class HPComputerDeveloper : IComputerDeveloper
405405
/// <returns>Компьютер.</returns>
406406
public Computer GetComputer() => _computer;
407407
}
408+
```
408409
:four: Теперь создадим класс Director, который будет иметь поле IComputerDeveloper, то есть, он будет принимать в конструкторе одного из разработчиков компьютеров и в зависимости от разработчика создавать определенный компьютер.
410+
```C#
411+
/// <summary>
412+
/// Директор.
413+
/// </summary>
414+
public class Director
415+
{
416+
/// <summary>
417+
/// Разработчик компьютеров.
418+
/// </summary>
419+
private IComputerDeveloper _computerDeveloper;
420+
421+
/// <summary>
422+
/// Создание директора с помощью указанных параметров.
423+
/// </summary>
424+
/// <param name="computerDeveloper">Разработчик компьютеров.</param>
425+
/// <exception cref="ArgumentNullException">Разработчик компьютеров равен null!</exception>
426+
public Director(IComputerDeveloper computerDeveloper)
427+
{
428+
if (computerDeveloper == null)
429+
{
430+
throw new ArgumentNullException(nameof(computerDeveloper), "Разработчик компьютеров равен null!");
431+
}
432+
433+
_computerDeveloper = computerDeveloper;
434+
}
435+
436+
/// <summary>
437+
/// Создание полноценного компьютера.
438+
/// </summary>
439+
/// <returns>Созданный компьютер.</returns>
440+
public Computer CreateFullComputer()
441+
{
442+
_computerDeveloper.SetProcessor();
443+
_computerDeveloper.SetRandomAccessMemory();
444+
_computerDeveloper.SetOperationSystem();
445+
446+
return _computerDeveloper.GetComputer();
447+
}
448+
449+
/// <summary>
450+
/// Создание компьютера без операционной системы.
451+
/// </summary>
452+
/// <returns>Созданный компьютер.</returns>
453+
public Computer CreateComputerWithoutOperationSystem()
454+
{
455+
_computerDeveloper.SetProcessor();
456+
_computerDeveloper.SetRandomAccessMemory();
457+
458+
return _computerDeveloper.GetComputer();
459+
}
460+
}
409461
```
410462
## Структурные паттерны
411463
__Структурные паттерны__ (Structural) - цель их применения заключается в том, что благодаря им вы можете совмещать и сочетать сущности вместе.

0 commit comments

Comments
(0)

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