Bir önceki yazımda proxy design pattern için giriş bilgilerini vermiştim değerli Java dostları. Bu yazımda ise proxy design pattern türlerinden birisi olan protection design pattern ile ilgili bilgi ve örnek vermek istiyorum. Protection proxy design pattern, kritik objelere veya kaynaklara olan direkt erişimi ve kontrolleri sağlamak için kullanılır. İsterseniz örneğimize geçelim.

package designpattern.proxy.protection;public interface IPayable {

public double pay();

}

package designpattern.proxy.protection;public class Cash implements IPayable {

@Override
public double pay() {
return 2000;
}

}

package designpattern.proxy.protection;public class Cheque implements IPayable {

private IPayable cash = new Cash();

@Override
public double pay() {
if (checkSecurity())
return cash.pay();
return 0;
}

private boolean checkSecurity() {
// Some controls
return true;
}

}

package designpattern.proxy.protection;public class Bank {

private IPayable cheque = new Cheque();

public void processPayment() {
System.out.println(cheque.pay());
}

}

package designpattern.proxy.protection;public class ProtectionMain {

public static void main(String[] args) {

Bank bank = new Bank();

bank.processPayment();

}

}

Bu örneğimizde bir banka hesabımızın olduğunu düşünüyoruz ve bu hesap üzerinde işlem yaparken direkt olarak kasaya veya nakit paraya ulaşmak yerine çek kullanıyoruz. Böylece kontrollü bir erişim sağlamak istiyoruz; ama Bank objesi üzerinden işlem yapan biri için bu fark edilmez bir durumdur. Bunun nedeni ise interface aracılığıyla soyutlama sağlamış olmamız.

Bol Java’ lı günler dileğiyle… 😀

One response

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir