-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
bcf8faa
commit 9851d10
Showing
1 changed file
with
28 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# Abstract Factory Design Pattern | ||
|
||
Bu örnek, Abstract Factory tasarım deseni kullanarak farklı logger türlerinin yaratılmasını ve kullanılmasını gösterir. | ||
|
||
## Genel Bakış | ||
|
||
 | ||
|
||
Bu kod örneği, logger (günlük kayıt) işlevselliği sağlayan bir Abstract Factory tasarım desenini içerir. `ILogger` arayüzü, loglama işlevlerini tanımlar ve bu arayüzü implemente eden farklı logger sınıfları bulunur. `ILoggerFactory` arayüzü ise `ILogger` nesnelerinin yaratılmasını sağlayan bir yöntem içerir. | ||
|
||
## Yapı | ||
|
||
- `ILogger`: Loglama işlevselliğini tanımlayan arayüz. | ||
- `FileLogger`, `NetworkLogger`: `ILogger` arayüzünü uygulayan farklı logger sınıfları. | ||
- `ILoggerFactory`: `ILogger` nesnelerini yaratmayı tanımlayan arayüz. | ||
- `FileLoggerFactory`, `NetworkLoggerFactory`: `ILoggerFactory` arayüzünü implemente eden fabrika sınıfları, farklı logger türlerini yaratır. | ||
|
||
## Nasıl Kullanılır | ||
|
||
1. `LoggingClient` sınıfı, `ILoggerFactory`'den gelen fabrika sınıflarını kullanarak logger nesnelerini oluşturur. | ||
2. `LogMessage` metodu üzerinden loglama işlemini gerçekleştirir. | ||
3. `Main` fonksiyonunda, farklı logger türlerini kullanarak loglama işlemi örneklenir. | ||
|
||
## Nasıl Çalıştırılır | ||
|
||
1. Proje dosyalarını indirin/klonlayın. | ||
2. Çalıştırmak için bir C# derleyici kullanarak veya bir C# IDE'sinde projeyi açarak `Program.cs` dosyasını çalıştırın. | ||
|