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
Ö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:
start()
WatchStopper
dur bir yöntem uygulanmalı.- 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.
Java singleton deseni uygulamak için e...
Nasıl UML diyagramları (özellikle sıra...
Nasıl bir yöntem zaman'Java yürüt...
Nasıl bir dize olarak yöntem adı veril...
Neden Java temel yöntem statik mi?...