Bir uygulamanın tasarım aşamasındayım ve geri/yineleme amacıyla command pattern'u kullanmak istiyorum. Komut modelinde biraz araştırma yaptım ama elde edemediğim tek şey: Bir komutun geri al ve yineleme yöntemlerine sahip olması ya da iki ayrı komut alması gerekirse, biri geri almak için ve bir tanesi yinelemeli olmak için. ana komut kendini?Komut şablonunun uygulanması
cevap
Komut nesnesinin kendisi geri alma/yineleme işlevini uygulamalıdır. Komutlar genellikle çok seviyeli geri almayı uygulamak için bir komut yöneticisi tarafından tutulan bir yığından itilir ve atılırlar. Komutlar yürütüldüğünde, yığına itilirler ve geri alındıklarında yığıntan atılırlar.
Memento deseni komut deseni ile birlikte kullanılacaktır, komut modelinin kullanılmasının yerine geçmez. Geri alma işlemi için gereken durumu korumak için kullanılır.
Bunun için memento şablonunu da düşünmek isteyebilirsiniz, onu kullanırız ve geri almak için mükemmel çalışır.
Memento deseni, sadece geri almak için istediğimde komut desenini uygulamak için daha az zaman harcar mı? – slayerIQ
@slayerIQ Memento kalıbı komut deseni ile birlikte kullanılacak, komut deseninin kullanımı yerine geçmez. – David
Yani memento geri alma işlemlerini yapar ve yığınları tekrarlar, Ve yığınlar komutları içerecektir doğru muyum? – slayerIQ
- 1. Uygulanması
- 2. Uygulanması
- 3. FindControl uygulanması
- 4. Uygulanması ToArgb()
- 5. uygulanması toString
- 6. C++ şablonunun hata mesajlarının deşifre edilmesi
- 7. Angular2 kaydırma bileşeni şablonunun div ile
- 8. Küçük kabukta boruların uygulanması
- 9. Dış modüllerin uygulanması
- 10. PHP'de DAG'ın düzgün uygulanması?
- 11. Agrega monadındaki flatMap'in uygulanması
- 12. Paralel koordinatların uygulanması?
- 13. polimorfik operatörü [] uygulanması
- 14. istringstream yöntemi uygulanması
- 15. View.IOnTouchListener arabiriminin uygulanması
- 16. Quicksort'un uygulanması, Mergesort
- 17. Haskell Bell Numaralarının Uygulanması
- 18. Dairesel enum değerlerinin uygulanması
- 19. AngularJS yönergelerinde mirasın uygulanması
- 20. combinatorics uygulanması ve bulgusu
- 21. html5 banner reklamının uygulanması
- 22. Bir async WCF hizmetinin uygulanması
- 23. uygulanması eylem filtre küresel MVC
- 24. Unity3D'de Bir Görev Sisteminin Uygulanması
- 25. uygulanması css sınıfı kullanılarak Html.DisplayFor
- 26. SVG filtresinin arkaplan resmine uygulanması
- 27. ITestLogger.OnTestingStarts arabiriminin eksik uygulanması; (XE5)
- 28. V8 motorunun üstüne Clojure uygulanması
- 29. Sürdürülemeyen aboneliklerin uygulanması MKstorekit4 kullanımı?
- 30. iOS'ta HTTP Live Streaming'in uygulanması
Bunu daha iyi bir çözüm sadece basit bir yığın değil eklemek istiyorum. Bunun yerine, geçerli öğeye bir liste ve başvuru istersiniz. Geri alma, referansı geri döndürür ve * yeniden imleme * ileriye doğru yürür. Yığını kullanmak yeniden yapmanıza izin vermez. – munificent
2 yığınları kullandım, yığını geri aldım. Bir eylemi geri alırsanız, geri alma yığından çıkar ve yineleme yığınının üzerine iter. Yeni bir eylem eklemek, geri alma yığınının üstüne yenisini itmek ve yineleme yığınının temizlenmesidir. – Wout