Skip to content

Facade

Bu yazımda size Facade adındaki nesneye dayalı yazılım şablonunu (Object-Oriented Design Pattern) anlatacağım. Bu şablon(pattern) genelde birden fazla pakete (package) aynı anda erişip bunlarla ilgili işlemleri yapabilmek adına tasarlanmış bir dizayndır. Demek istediğim birden fazla işlevi bir arada bulunduran işlemleri temelde daha kolaya indirgeyen bir yazılım unsurudur. Buna şöyle örnek verelim. Sizin computer adında bir sınıfınız(class) var. Computer çalışması için birden fazla parça kulanır. Biz sadece CPU, Ram ve harddisk kullandığını varsayalım. Şimdi bu saydığım parçaların her biri paket olarak tasarlayalım çünkü birden fazla işlevi yerine getiriyor. Mesela CPU’yu ele alalım. Bu paketin içinde birden fazla sınıf bulunur. İşte dışarıdaki sınıfları bu kargaşadan kurtarmak için bir facade sınıfı yazarız ve bu sınıf üzerinden erişimi sağlarız. Şimdi bunu bir uml şeması ile gösterelim.

facade

public class ALU{
	public void execute(){
		//execute instructions
	}
}
public class Latch{
	public void fetch(){
		//fetch intruction from memory
	}
}
public class Disk{
	public void data(){
		//gets data from disk
	}
}
public class Computer{
	ALU alu;Latch latch;Disk disk;
	public Computer(){
		alu = new ALU();
		latch = new Latch();
		disk = new Disk();
	}
	public void run(){
		alu.execute();
		latch.fetch();
		disk.data();
	}
}
public class User{
	public static void main(String [] args){
		Computer computer = new Computer();
		computer.run();
	}
}

2 Comments

  1. mehmet mehmet

    Çok güzel anlatmışsınız, elinize sağlık. Billgisayar üzerine bu tarz şeylerin türkçe anlatımınında olması çok sevindirici.

  2. ceylan ceylan

    facade çoğu yerde anlaşılmayan cümleler ve örneklerle anlatılmış. anlaşılabilen nadir anlatımlardan biri olmuş bu. teşekkür ederim 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *