Skip to content

Command

Alexandr Azizyan edited this page Mar 16, 2016 · 3 revisions

Command

მოკლე აღწერა

Command პატერნი არის ქცევითი დიზაინ პატერნი, რომელიც გვაძლევს საშუალებას ერთ ობიექტში შევფუთოთ კონკრეტული მოქმედების შესრულებასა ან ივენთის დაჭერისას საჭირო ინფორმაცია (უშულოდ receiver ობიექტი და ინტერფეისი, რომელიც საჭიროა ოპერაციის შესრულებისთვის).

გამოყენება

Command პატერნი გამოიყენება იმისთვის, რომ განვაცალკევოთ ერთმანეთისგან invoker და receiver ობიექტები. invoker-მა იცის, როგორ შეასრულოს კონკრეტული command-ი, თუმცა მას არანაირი ინფორმაცია არ აქვს უშუალოდ receiver-ის სესახებ. თვითონ command-მა კი იცის როგორ შეასრულოს კონკრეტული ბრძანება receiver-ის ინტერფეისის გამოყენებით.

  • Command პატერნ აქტიურად გამოიყენება პარალელურ პროგრამირებაში, სადაც ბევრი ნაკადი იზიარებს რესურსებს, თუმცა დამოუკიდებლად ასრულებს თავის ამოცანას.
  • Multiplayer თამაშებში შეიძლება კონკრეტული მოქმედება command-ის სახით გაზიარდეს ქსელში და შესრულდეს სხვა მანქანებზე.
  • Command პატერნი ასევე გამოიყენება ლოგირების და ტრანზაქციული სისტემების შექმნის დროს.
  • დინამიურად გაშვებული პროცესის დროს invoker-ს შეიძლება შეეცვალოს პარამეტრები, მხოლოდ command-ების გამოყენებით.
  • Command-ს შეიძლება ასევე ჰქონდეს წინა მდგომარეობაში დაბრუნების მხარდაჭერა.

დიაგრამები

Class დიაგრამა

Class დიაგრამა

Sequence დიაგრამა

Sequence დიაგრამა

Clone this wiki locally