К содержанию
РецензированоUZ2021

Memento pattern

MEMENTO PATTERN

Новый Узбекистан: наука, образование и инновации · 7 · 103-111 · 2021

Аннотация

C# tilidagi xatti-harakatlarning dizayn namunasi ob'ektning ichki holatini olish va tiklash imkonini beradi. Kalit so'zlar: C# tili, Memento naqshi, C# kod Memento pattern - bu C# tilidagi xatti-harakatlar dizayn namunasi bo'lib, u sizga inkapsulyatsiyani buzmasdan ob'ektning ichki holatini olish va tiklash imkonini beradi. Vaqtning turli nuqtalarida ob'ekt holatini saqlash va tiklash kerak bo'lganda yoki ilovangizda bekor qilish/qayta tiklash funksiyasini taqdim qilmoqchi bo'lsangiz foydali bo'ladi. Memento naqshida sizda uchta asosiy komponent mavjud: 1. Originator: Bu holatini saqlamoqchi va tiklamoqchi boʻlgan obyekt. Uning holatini yodgorlikka saqlash va esdalik holatini tiklash usullari mavjud. 2. Memento: Bu yaratuvchining holatini saqlaydigan ob'ekt. U saqlangan holatni olish va baʼzi hollarda holatni oʻzgartirishni oldini olish usullarini taqdim etadi. 3. Karetaker: Bu yaratuvchi va esdalik bilan o'zaro aloqada bo'lgan ob'ekt. U esdalik sovg'alarini yaratish va boshqarish uchun javobgardir. Qo'riqchi muallifdan o'z holatini esdalik sifatida saqlashni yoki esdalik holatini tiklashni so'rashi mumkin. C# da Memento naqshini amalga oshirish uchun siz xotira ob'ektlari interfeysini belgilashingiz mumkin, ular saqlangan holatni olish usullarini taqdim etishi kerak. Yaratuvchi o'z holatini esdalik holatiga saqlash va uning holatini yodgorlikdan tiklash usullariga ega bo'lishi 679 kerak. Qo'riqchi esdalik sovg'alarini yaratadi va boshqaradi va muallifdan uning holatini saqlash yoki tiklashni so'rashi mumkin. Memento naqshidan foydalanib, siz ob'ektning ichki tafsilotlarini oshkor qilmasdan osongina saqlashingiz va holatini tiklashingiz mumkin. Bu, ayniqsa, bekor qilish/qayta tiklash funksiyasini amalga oshirish yoki ilovadagi nazorat nuqtalarini boshqarish uchun foydali bo‘lishi mumkin.Umuman olganda, Memento namunasi ob'ekt holatini suratga olish va tiklash usulini taqdim etadi, bu esa C# kodida ko'proq moslashuvchanlik va barqarorlikni ta'minlaydi. 1. using System; 2. 3. namespace Memento.Structural 4. { 5. /// 6. /// Memento Design Pattern 7. /// 8. 9. public class Program 10. { 11. public static void Main(string[] args) 12. { 13. Originator o = new Originator(); 14. o.State = "On"; 15. 16. // Store internal state 17. 18. Caretaker c = new Caretaker(); 19. c.Memento = o.CreateMemento(); 20. 21. // Continue changing originator 22. 23. o.State = "Off"; 24. 25. // Restore saved state 26. 27. o.SetMemento(c.Memento); 28. 29. // Wait for user 30. 31. Console.ReadKey(); 680 32. } 33. } 34. 35. /// 36. /// The 'Originator' class 37. /// 38. 39. public class Originator 40. { 41. string state; 42. 43. public string State 44. { 45. get { return state; } 46. set 47. { 48. state = value; 49. Console.WriteLine("State = " + state); 50. } 51. } 52. 53. // Creates memento 54. 55. public Memento CreateMemento() 56. { 57. return (new Memento(state)); 58. } 59. 60. // Restores original state 61. 62. public void SetMemento(Memento memento) 63. { 64. Console.WriteLine("Restoring state..."); 65. State = memento.State; 66. } 67. } 68. 69. /// 70. /// The 'Memento' class 71. /// 72. 73. public class Memento 74. { 75. string state; 76. 77. // Constructor 78. 79. public Memento(string state) 80. { 81. this.state = state; 82. } 681 83. 84. public string State 85. { 86. get { return state; } 87. } 88. } 89. 90. /// 91. /// The 'Caretaker' class 92. /// 93. 94. public class Caretaker 95. { 96. Memento memento; 97. 98. public Memento Memento 99. { 100. set { memento = value; } 101. get { return memento; } 102. } 103. } 104. } Bu C# tilidagi xatti-harakatlar dizayn namunasidan foydalanib sizga ob'ektning ichki holatini olish va tiklash imkonini beradi. Vaqtning turli nuqtalarida ob'ekt holatini saqlash va tiklash kerak bo'lganda yoki ilovangizda bekor qilish/qayta tiklash funksiyasini taqdim qilmoqchi bo'lsangiz juda yaxshi foyda beradi. FOYDALANILGAN ADABIYOTLAR 1. Tao X, Haoxian Yang H (2010) Analysis of real-time changes in financial exchange rates based on machine learning and complex embedded systems. Microprocessor Microsys ISSN 0141-9331 2. Sulaymanov Z.R. Международный научно-образовательный электронный журнал «ОБРАЗОВАНИЕ И НАУКА В XXI ВЕКЕ». Выпуск №26 (том 7) (май, 2022). Дата выхода в свет: 31.05.2022. 600-605. 3. Sezer O.B, Gudelek, M.U, OzbayogluA.M (2020) Financial time series forecasting with deep learning : A systematic literature review: 2005–2019. Applied Soft Computing 90(106181) 4. Sulaymanov Z. O‘QUVCHILARning Kreativ qobiliyatlarini rivojlantirishda MANTIQ FANI ELEMENTLARIDAN FOYDALANISH //Журнал математики и информатики. – 2021. – Т. 1. – №. 4. 5. Abduvalieva, Z. and Ergashev, S., 2023. ALGORITHM FOR CLASSIFYING DOCUMENTS OF A SCIENTIFIC AND EDUCATIONAL ORGANIZATION USING MACHINE LEARNING METHODS. International Journal of Contemporary Scientific and Technical Research, (Special Issue), pp.103-111. 6. Sulaymanov Z.R. "Matematika

Доказательный фрагмент

«C# tilidagi xatti-harakatlarning dizayn namunasi ob'ektning ichki holatini olish va tiklash imkonini beradi.»

Образец извлечения

Демо-превью

C# tilidagi xatti-harakatlarning dizayn namunasi ob'ektning ichki holatini olish va tiklash imkonini beradi. Полный текст публикации CiteX не хранит — доступ к первоисточнику открывается по DOI согласно лицензии издателя и выбранному плану.

DOI не указан
Цитирований
0
Тип
Журнал
Страна
Узбекистан
Ключевые слова
C# tili, Memento naqshi, C# kod, шаблон Memento, C# language, C# code, Memento pattern, код C#, Язык C#
Спросить CiteX об этой работе

Смежные источники