Profesyonel yazılım sistemleri birçok komponentin birleşiminden oluşur. Yazılım esnasında bir çok ekip birbirinden bağımsız, sistemin bütününü oluşturan değişik komponentler üzerinde çalışırlar. Bir komponent, belirli bir işlevi yerine getirmek için hazırlanmış bir ya da birden fazla Java sınıfından oluşmaktadır.
Bir komponentin sunmuş olduğu hizmetten yararlanabilmek için, komponentin dış dünya için tanımlamış olduğu giriş/çıkış noktaları (input/output interface) kullanılır. Komponent sadece bu giriş/çıkış noktaları üzerinden dış dünya ile iletişim kurar ve iç dünyasını tamamen gizler. Bu komunikasyon noktaları genelde Facade tasarım şablonu kullanılarak programlanır.
Uml diagramında görüldüğü gibi Komponent1 isminde bir sistem komponenti, dış dünya ile komunikasyonu KomponentFacade interface sınıfı üzerinden sağlıyor. Kullanıcı sınıfın (client) tanıması gereken sınıflar FacadeFactory ve KomponentFacade sınıflarıdır. FacadeFactory ile, kullanıcı sınıfın kullanabileceği şekilde bir KomponentFacade nesnesi oluşturulur. Komponentin sunduğu hizmetlere, KomponentFacade interface sınıfında tanımlanmış metodlar aracılığıyla ulaşılır. Komponenti kullanmak için tanımlanan giriş noktası KomponentFacade.doSomething() metodudur.
Bu yazıyı PDF olarak edinebilirsiniz.
Facade (Cephe) Tasarım Şablonu (57,1 KiB, 7.517 yükleme)
Tasarım Şablonları (Design Patterns) kategorisinden son yazılar
- Decorator Tasarım Şablonu - July 24th, 2010
- Java Enum ile Singleton Tasarım Şablonu - February 2nd, 2010
- Intercepting Filter Tasarım Şablonu - December 9th, 2009
- Builder Tasarım Şablonu - November 17th, 2009
- Service Locator Tasarım Şablonu - October 30th, 2009
- Business Delegate Tasarım Şablonu - October 30th, 2009
- Chain of Responsibility Tasarım Şablonu - October 9th, 2009
- Front Controller Tasarım Şablonu - October 9th, 2009
- Flyweight (Sinek Siklet) Tasarım Şablonu - October 9th, 2009
- Proxy (Vekil) Tasarım Şablonu - October 8th, 2009
Pingback: Pratik Programcı Yayınları » Sözde Lean!