Skip to content

Instantly share code, notes, and snippets.

@Hybaser
Hybaser / di_implemented.cs
Created July 5, 2019 13:26
Dependency Inversion Principle Örneği
public interface LogInterface {
void log();
}
public class FileLogger: LogInterface {
public void log() {Console.WriteLine("logged to file");}
}
public class User {
@Hybaser
Hybaser / di_not_implemented.cs
Last active July 5, 2019 13:33
Dependecny Inversion Principle Örneği
public class FileLogger {
public void log() {Console.WriteLine("logged to file");}
}
public class User {
FileLogger logger = new FileLogger();
public void saveUser() {
//... save operations
@Hybaser
Hybaser / is_implemented.cs
Created July 4, 2019 12:41
Interface Segregation Principle Örneği
public interface DailyWork {
void WakeUp();
void FeedDog();
}
public interface WeekdayWork {
void GoWork();
}
public class WeekDays: DailyWork, WeekdayWork {
@Hybaser
Hybaser / is_not_implemented.cs
Created July 4, 2019 12:41
Interface Segregation Principle Örneği
public interface DailyWork {
void WakeUp();
void FeedDog();
void GoWork();
}
public class WeekDays: DailyWork {
public void WakeUp() {
//...
}
@Hybaser
Hybaser / liskov_implemented.cs
Created July 4, 2019 12:11
Liskov Substitution Principle Örneği
public interface Human {
void Eat();
}
public interface IRunnable {
void Run();
}
public class Man : Human, IRunnable {
public void Eat() {
@Hybaser
Hybaser / liskov_not_implemented.cs
Created July 4, 2019 12:10
Liskov Substitution Principle Örneği
public interface Human {
void Eat();
void Run();
}
public class Man : Human {
public void Eat() {
//eat code
};
@Hybaser
Hybaser / oc_implemented.cs
Last active July 5, 2019 21:49
Open/Closed Principle Örneği
public class Computer {
public int cpuCount;
public int ramSize;
//....
}
public class Notebook : Computer {
private bool batteryType;
private int screenSize;
//....
@Hybaser
Hybaser / sr_implemented.cs
Last active July 4, 2019 08:32
Single Responsibility Kuralı eklenmiş örnek.
public class Currency {
private string currencyCode;
private string currencyName;
private double currencyValue;
public string getCurrencyCode() {
return currencyCode;
}
@Hybaser
Hybaser / sr_not_implemented.cs
Last active July 4, 2019 08:33
sr_not_implemented.cs
public class CurrencyCodes {
private string currencyCode;
private string currencyName;
private double currencyValue;
public string getCurrencyCode() {
return currencyCode;
}