Anasayfa

C ve Sistem Programcıları Derneği

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

menü

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

e-posta ile bilgilendirme.

Derneğimizdeki etkinliklerden haberdar olun!

Haber mektubu üyeliğiniz

Kimler çevrimiçi

Şu an 0 kullanıcı ve 1 ziyaretçi çevrimiçi.
""
dreamhost
Anasayfa

Java Timer Component Observer Patern'i ile

17.05.2011 - 16:42 tarihinde aykut gönderdi

 

Aşağıda Java dilinde ve Observer patern'i kullanılarak tarafımdan yazılmış 
basit bir Timer sınıfı örneklenmektedir.  Bu ve benzeri örnekler C ve Sistem
 Programcıları Derneğinde verdiğim UML ve Dizayn Patern eğitimlerinden 
alıntıdır. (Aykut TAŞDELEN)
Kaynak kod: 
public interface IObservable
{
	void Register(Console o);
	void Unregister(Console o);
	void Notify() throws InterruptedException;
}
 
public class Timer implements IObservable
{
	private int m_interval;
	private boolean m_enabled;
	private ArrayList<Console> subscribers = new ArrayList<Console>();
 
	public Timer(int interval)
	{
		m_interval = interval;
		m_enabled = false;
	}
 
	public int getInterval()
	{
		return m_interval;
	}
 
	public void setInterval(int interval)
	{
		this.m_interval = interval;
	}
 
	public boolean isEnabled()
	{
		return m_enabled;
	}
 
	public void setEnabled(boolean enabled)
	{
		this.m_enabled = enabled;
	}
 
	@Override
	public void Notify() throws InterruptedException
	{
		if (isEnabled())
		{
			for (int i=0; i <= subscribers.size()-1; ++i)
			{
				Thread.sleep(m_interval);
				subscribers.get(i).onAction();
			}
		}
	}
 
	@Override
	public void Unregister(Console subscriber)
	{
		subscribers.remove(subscriber);
	}
 
	@Override
	public void Register(Console subscriber)
	{
		subscribers.add(subscriber);
	}
}
public class Console
{
	public void onAction()
	{
		// Bu metot periyodik olarak sistem saatini 
                //   ekrana basar
		Calendar c = Calendar.getInstance();
		System.out.println(c.getTime());
	}
}
  • Yazıcı uyumluYazıcı uyumlu
  • Arkadaşa gönderArkadaşa gönder
  • PDFPDF
Etiketler:
  • Java
  • aykut
  • component
  • java
  • observer
  • taşdelen
  • timer

Adres: 2.Taşocağı Cd. Oğuz Sk. Barbaros Apt. No: 11/4 PK: 34387  Mecidiyeköy / İSTANBUL Tel: (212) 274 63 60  (212) 274 99 89  (212) 275 88 97  (212) 288 35 20 Fax: (212) 275 88 97 E-Posta: csystem@csystem.org

İçerik yayınları
Fervens Drupal theme by Leow Kah Thong. Designed by Design Disease and brought to you by Smashing Magazine.