SORU
17 HAZİRAN 2015, ÇARŞAMBA


Java Tasarım Sorunu: yöntem ara sıra Uygula

Geçenlerde bir röportajda bana sorulan bir soru var.

SorunBir sınıf kod yürütme zamanı profilini etmek içindir. Sınıf gibi

Class StopWatch {

    long startTime;
    long stopTime;

    void start() {// set startTime}
    void stop() { // set stopTime}
    long getTime() {// return difference}

}

İstemci Kronometre örneği oluşturmak ve yöntemleri buna göre çağırması bekleniyor. Kullanıcı kodu yöntemlerden beklenmedik sonuçlara yol kullanımı berbat edebilir. Eski, start(), stop() ve getTime() çağırır sırada olmalıdır.

Bu sınıf" kullanıcı sırası karışıklık engellenebilir. "yapılandırılması gerekiyor

Özel durum kullanımı durdurun eğer teklif ettim() başlamadan önce de denir), ya da/başka Çek, ama spiker memnun değilse bazı yapıyor.

Bir tasarım deseni bu tür durumlardan işlemek için var mı?

EditSınıf üyeleri ve Yöntem uygulamaları değiştirilebilir.

CEVAP
17 HAZİRAN 2015, ÇARŞAMBA


Önce kendi Java profiler uygulama iyi olanlar mevcut olduğundan vakit kaybı, (belki de bu soruya arkasındaki niyeti olduğu gerçeği var.

Eğer derleme zamanında doğru yöntem emri uygulamak istiyorsanız, zincirdeki her bir yöntem ile bir şey dönmek zorunda:

  1. start() WatchStopper dur bir yöntem uygulanmalı.
  2. Sonra WatchStopper.stop() WatchResult getResult() bir yöntem uygulanmalı.

Onların yöntemleri erişen bu yardımcı sınıflar gibi başka yolları dış Yapı elbette önlenebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007
  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • LiteralMSPaint

    LiteralMSPai

    27 EKİM 2010