Behavioral

This commit is contained in:
CodeRaiser
2020-11-28 23:44:04 +02:00
parent 9f61e21dcf
commit 198ea9e9a9
13 changed files with 955 additions and 0 deletions

View File

@@ -0,0 +1,73 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-26 16:52+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg_BG\n"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:2
msgid "`Chain Of Responsibilities`__"
msgstr "`Верига отговорности`__"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:5
msgid "Purpose:"
msgstr "Предназначение:"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:7
msgid ""
"To build a chain of objects to handle a call in sequential order. If one "
"object cannot handle a call, it delegates the call to the next in the chain "
"and so forth."
msgstr ""
"Изграждане на верига от обекти за обработка на повикване в последователен "
"ред. Ако един обект не може да обработи повикване, той делегира повикването "
"на следващия по веригата и т.н."
#: ../../Behavioral/ChainOfResponsibilities/README.rst:12
msgid "Examples:"
msgstr "Примери:"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:14
msgid ""
"logging framework, where each chain element decides autonomously what to do "
"with a log message"
msgstr ""
"logging framework, където всеки елемент на веригата решава автономно какво "
"да прави със съобщение"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:16
msgid "a Spam filter"
msgstr "Спам филтър"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:17
msgid ""
"Caching: first object is an instance of e.g. a Memcached Interface, if that "
"\"misses\" it delegates the call to the database interface"
msgstr ""
"Кеширане: първият обект е екземпляр от напр. Memcached интерфейс, ако този "
"\"пропусне\", той делегира повикването на интерфейса на базата данни"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:25
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:32
msgid "Code"
msgstr "Код"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:34
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/ChainOfResponsibilities/README.rst:61
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,88 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-27 16:09+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg_BG\n"
#: ../../Behavioral/Command/README.rst:2
msgid "`Command`__"
msgstr "`Команда`__"
#: ../../Behavioral/Command/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Command/README.rst:7
msgid "To encapsulate invocation and decoupling."
msgstr "За капсулиране на извикване и отделяне."
#: ../../Behavioral/Command/README.rst:9
msgid ""
"We have an Invoker and a Receiver. This pattern uses a \"Command\" to "
"delegate the method call against the Receiver and presents the same method "
"\"execute\". Therefore, the Invoker just knows to call \"execute\" to "
"process the Command of the client. The Receiver is decoupled from the "
"Invoker."
msgstr ""
"Ние имаме Повикващ и Получател. Този модел използва \"Command\", за да "
"делегира извикването на метода срещу Получателя и представя същия метод "
"\"execute\". Следователно Повикващ просто знае да извика „execute“, за да "
"обработи командата на клиента. Получателят е отделен от Повикващия."
#: ../../Behavioral/Command/README.rst:15
msgid ""
"The second aspect of this pattern is the undo(), which undoes the method "
"execute(). Command can also be aggregated to combine more complex commands "
"with minimum copy-paste and relying on composition over inheritance."
msgstr ""
"Вторият аспект на този модел е undo(), който отменя метода execute(). "
"Command може да се агрегира и комбинира по-сложни команди с минимално "
"copy&paste и разчитане на композиция над наследяване."
#: ../../Behavioral/Command/README.rst:21
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/Command/README.rst:23
msgid ""
"A text editor : all events are Command which can be undone, stacked and "
"saved."
msgstr ""
"Текстов редактор: всички събития са команда, която може да бъде отменена, "
"подредена и запазена."
#: ../../Behavioral/Command/README.rst:27
msgid ""
"big CLI tools use subcommands to distribute various tasks and pack them in "
"\"modules\", each of these can be implemented with the Command pattern (e.g. "
"vagrant)"
msgstr ""
"големите CLI инструменти използват подкоманди, за да разпределят различни "
"задачи и да ги опаковат в \"модули\", като всеки от тях може да бъде "
"изпълнен с командния модел (напр. vagrant)"
#: ../../Behavioral/Command/README.rst:32
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Command/README.rst:39
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Command/README.rst:41
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Command/README.rst:68
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,73 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-27 16:21+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg_BG\n"
#: ../../Behavioral/Iterator/README.rst:2
msgid "`Iterator`__"
msgstr "`Итератор`__"
#: ../../Behavioral/Iterator/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Iterator/README.rst:7
msgid ""
"To make an object iterable and to make it appear like a collection of "
"objects."
msgstr ""
"За да направите обекта итеративен и да го направите да изглежда като "
"колекция от обекти."
#: ../../Behavioral/Iterator/README.rst:11
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/Iterator/README.rst:13
msgid ""
"to process a file line by line by just running over all lines (which have an "
"object representation) for a file (which of course is an object, too)"
msgstr ""
"за обработка на файл ред по ред, като просто прекарате всички редове (които "
"имат представяне на обект) за файл (което, разбира се, също е обект)"
#: ../../Behavioral/Iterator/README.rst:18
msgid "Note"
msgstr "Забележка"
#: ../../Behavioral/Iterator/README.rst:20
msgid ""
"Standard PHP Library (SPL) defines an interface Iterator which is best "
"suited for this! Often you would want to implement the Countable interface "
"too, to allow ``count($object)`` on your iterable object"
msgstr ""
"Стандартната PHP библиотека (SPL) определя интерфейсен итератор, който е най-"
"подходящ за това! Често бихте искали да внедрите и Countable интерфейса, за "
"да позволите``count ($ object)`` на вашия итеративен обект"
#: ../../Behavioral/Iterator/README.rst:25
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Iterator/README.rst:32
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Iterator/README.rst:34
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Iterator/README.rst:61
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,59 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-27 16:35+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/Mediator/README.rst:2
msgid "`Mediator`__"
msgstr "`Посредник`__"
#: ../../Behavioral/Mediator/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Mediator/README.rst:7
msgid ""
"This pattern provides an easy way to decouple many components working "
"together. It is a good alternative to Observer IF you have a \"central "
"intelligence\", like a controller (but not in the sense of the MVC)."
msgstr ""
"Този модел осигурява лесен начин за отделяне на много компоненти, работещи "
"заедно. Това е добра алтернатива на Observer, АКО имате централен обект, "
"като контролер (но не в смисъла на MVC)."
#: ../../Behavioral/Mediator/README.rst:11
msgid ""
"All components (called Colleague) are only coupled to the Mediator interface "
"and it is a good thing because in OOP, one good friend is better than many. "
"This is the key-feature of this pattern."
msgstr ""
"Всички компоненти (наречени колега) са свързани само с интерфейса на "
"Посредника и това е хубаво нещо, защото в ООП един добър приятел е по-добър "
"от много. Това е ключовата характеристика на този шаблон."
#: ../../Behavioral/Mediator/README.rst:16
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Mediator/README.rst:23
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Mediator/README.rst:25
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Mediator/README.rst:64
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,137 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2015, Dominik Liebler and contributors
# This file is distributed under the same license as the DesignPatternsPHP
# package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-06-03 23:59+0200\n"
"PO-Revision-Date: 2020-11-27 17:21+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.3.4\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`__"
msgstr "`Спомен`__"
#: ../../Behavioral/Memento/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Memento/README.rst:7
msgid ""
"It provides the ability to restore an object to it's previous state (undovia "
"rollback) or to gain access to state of the object, without revealingit's "
"implementation (i.e., the object is not required to have a functionto return "
"the current state)."
msgstr ""
"Осигурява възможност за възстановяване на обект в предишното му състояние "
"(отмяна чрез връщане назад) или за получаване на достъп до състоянието на "
"обекта, без да се разкрива изпълнението му (т.е. обектът не трябва да има "
"функция за връщане на текущото състояние)."
#: ../../Behavioral/Memento/README.rst:12
msgid ""
"The memento pattern is implemented with three objects: the Originator, a "
"Caretaker and a Memento."
msgstr ""
"Шаблон е реализиран с три обекта: Originator (Оригинатор), a Caretaker "
"(Пазител) и Memento (Спомен)."
#: ../../Behavioral/Memento/README.rst:15
msgid ""
"Memento an object that *contains a concrete unique snapshot of state* of "
"any object or resource: string, number, array, an instance of class and so "
"on. The uniqueness in this case does not imply the prohibition existence of "
"similar states in different snapshots. That means the state can be extracted "
"as the independent clone. Any object stored in the Memento should be *a full "
"copy of the original object rather than a reference* to the original object. "
"The Memento object is a \"opaque object\" (the object that no one can or "
"should change)."
msgstr ""
"Memento - обект, който * съдържа конкретна уникална снимка на състоянието * "
"на всеки обект или ресурс: низ, число, масив, екземпляр на клас и така "
"нататък. Уникалността в този случай не означава забрана за съществуването на "
"подобни състояния в различни моментни снимки. Това означава, че състояние "
"може да бъде извлечено като независим клон. Всеки обект, съхраняван в "
"Memento, трябва да бъде * пълно копие на оригиналния обект, а не препратка * "
"към оригиналния обект. Обектът Memento е „непрозрачен обект“ (обектът, който "
"никой не може или не трябва да променя)."
#: ../../Behavioral/Memento/README.rst:24
msgid ""
"Originator it is an object that contains the *actual state of an external "
"object is strictly specified type*. Originator is able to create a unique "
"copy of this state and return it wrapped in a Memento. The Originator does "
"not know the history of changes. You can set a concrete state to Originator "
"from the outside, which will be considered as actual. The Originator must "
"make sure that given state corresponds the allowed type of object. "
"Originator may (but not should) have any methods, but they *they can't make "
"changes to the saved object state*."
msgstr ""
"Originator - това е обект, който съдържа * действителното състояние на "
"външен обект е строго определен тип *. Originator е в състояние да създаде "
"уникално копие на това състояние и да го върне увито в спомен. Originator не "
"знае историята на промените. Можете да зададете конкретно състояние на "
"Originator отвън, което ще се счита за действително. Originator трябва да се "
"увери, че дадено състояние съответства на разрешения тип обект. Originator "
"може (но не трябва) да има някакви методи, но те * не могат да правят "
"промени в състоянието на запазения обект *."
#: ../../Behavioral/Memento/README.rst:33
msgid ""
"Caretaker *controls the states history*. He may make changes to an object; "
"take a decision to save the state of an external object in the Originator; "
"ask from the Originator snapshot of the current state; or set the Originator "
"state to equivalence with some snapshot from history."
msgstr ""
"Caretaker * контролира историята на състояния *. Той може да прави промени в "
"обект; взима решение за запазване на състоянието на външен обект в "
"Originator; поиска моментна снимка на текущото състояние от Originator; или "
"зададе състоянието на Originator еквивалентно на някаква снимка от историята."
#: ../../Behavioral/Memento/README.rst:39
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/Memento/README.rst:41
msgid "The seed of a pseudorandom number generator"
msgstr "To seed генератор на псевдослучайни числа"
#: ../../Behavioral/Memento/README.rst:42
msgid "The state in a finite state machine"
msgstr "Състоянието в краен автомат"
#: ../../Behavioral/Memento/README.rst:43
msgid ""
"Control for intermediate states of `ORM Model <http://en.wikipedia.org/wiki/"
"Object-relational_mapping>`_ before saving"
msgstr ""
"Контрол за междинни състояния на `ORM Model <http://en.wikipedia.org/wiki/"
"Object-relational_mapping>`_ преди запазване"
#: ../../Behavioral/Memento/README.rst:46
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Memento/README.rst:53
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Memento/README.rst:55
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Memento/README.rst:76
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,91 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-27 17:57+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/NullObject/README.rst:2
msgid "`Null Object`__"
msgstr "`Празен обект`__"
#: ../../Behavioral/NullObject/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/NullObject/README.rst:7
msgid ""
"NullObject is not a GoF design pattern but a schema which appears frequently "
"enough to be considered a pattern. It has the following benefits:"
msgstr ""
"Null Object не е шаблон на GoF дизайн, а схема, която се появява достатъчно "
"често, за да се счита за шаблон. Той има следните предимства:"
#: ../../Behavioral/NullObject/README.rst:11
msgid "Client code is simplified"
msgstr "Клиентският код е опростен"
#: ../../Behavioral/NullObject/README.rst:12
msgid "Reduces the chance of null pointer exceptions"
msgstr "Намалява шанса за изключения от нулев указател"
#: ../../Behavioral/NullObject/README.rst:13
msgid "Fewer conditionals require less test cases"
msgstr "По-малко условия изискват по-малко тестови случаи"
#: ../../Behavioral/NullObject/README.rst:15
msgid ""
"Methods that return an object or null should instead return an object or "
"``NullObject``. ``NullObject``\\ s simplify boilerplate code such as ``if (!"
"is_null($obj)) { $obj->callSomething(); }`` to just ``$obj->callSomething();"
"`` by eliminating the conditional check in client code."
msgstr ""
"Методите, които връщат обект или null, вместо това трябва да върнат обект "
"или ``NullObject``. ``NullObject``\\ s опростяване на кодов шаблон, като "
"``if (!is_null($obj)) { $obj->callSomething(); }`` to just ``$obj-"
">callSomething();`` чрез премахване на условната проверка в кода."
#: ../../Behavioral/NullObject/README.rst:22
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/NullObject/README.rst:24
msgid ""
"Null logger or null output to preserve a standard way of interaction between "
"objects, even if the shouldn't do anything"
msgstr ""
"Null logger или null output за запазване на стандартен начин на "
"взаимодействие между обектите, дори ако не трябва да прави нищо"
#: ../../Behavioral/NullObject/README.rst:26
msgid "null handler in a Chain of Responsibilities pattern"
msgstr "нулев манипулатор в шаблон на верига отговорности"
#: ../../Behavioral/NullObject/README.rst:27
msgid "null command in a Command pattern"
msgstr "нулева команда в Command шаблон"
#: ../../Behavioral/NullObject/README.rst:30
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/NullObject/README.rst:37
msgid "Code"
msgstr "Код"
#: ../../Behavioral/NullObject/README.rst:39
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/NullObject/README.rst:66
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,74 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-27 18:10+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/Observer/README.rst:2
msgid "`Observer`__"
msgstr "`Наблюдател`__"
#: ../../Behavioral/Observer/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Observer/README.rst:7
msgid ""
"To implement a publish/subscribe behaviour to an object, whenever a \"Subject"
"\" object changes its state, the attached \"Observers\" will be notified. It "
"is used to shorten the amount of coupled objects and uses loose coupling "
"instead."
msgstr ""
"За да се приложи поведение за публикуване/абониране на обект, всеки път, "
"когато обект \"Subject\" промени състоянието си, прикачените \"Observers\" "
"ще бъдат уведомени. Използва се за съкращаване на количеството на свързани "
"обекти и вместо това използва разхлабено свързване."
#: ../../Behavioral/Observer/README.rst:13
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/Observer/README.rst:15
msgid ""
"a message queue system is observed to show the progress of a job in a GUI"
msgstr ""
"се наблюдава система за опашки от съобщения (message queue system), която "
"показва напредъка на заданието в GUI"
#: ../../Behavioral/Observer/README.rst:19
msgid "Note"
msgstr "Забележка"
#: ../../Behavioral/Observer/README.rst:21
msgid ""
"PHP already defines two interfaces that can help to implement this pattern: "
"SplObserver and SplSubject."
msgstr ""
"PHP вече дефинира два интерфейса, които могат да помогнат за реализирането "
"на този шаблон: SplObserver и SplSubject."
#: ../../Behavioral/Observer/README.rst:25
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Observer/README.rst:32
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Observer/README.rst:34
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Observer/README.rst:49
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,31 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-28 14:08+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/README.rst:2
msgid "`Behavioral`__"
msgstr "`Поведенчески`__"
#: ../../Behavioral/README.rst:4
msgid ""
"In software engineering, behavioral design patterns are design patterns that "
"identify common communication patterns between objects and realize these "
"patterns. By doing so, these patterns increase flexibility in carrying out "
"this communication."
msgstr ""
"В софтуерното инженерство, поведенчески шаблони за дизайн са шаблони, които "
"идентифицират общите комуникационни модели между обектите и реализират тези "
"модели. По този начин тези модели увеличават гъвкавостта при осъществяване "
"на тази комуникация."

View File

@@ -0,0 +1,60 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-28 12:21+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/Specification/README.rst:2
msgid "`Specification`__"
msgstr "`Спецификация`__"
#: ../../Behavioral/Specification/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Specification/README.rst:7
msgid ""
"Builds a clear specification of business rules, where objects can be checked "
"against. The composite specification class has one method called "
"``isSatisfiedBy`` that returns either true or false depending on whether the "
"given object satisfies the specification."
msgstr ""
"Изгражда ясна спецификация на бизнес правилата, където обектите могат да "
"бъдат проверени. Композитният клас на спецификация (The composite "
"specification class) има един метод, наречен ``isSatisfiedBy``, който връща "
"или true или false в зависимост от това дали даден обект удовлетворява "
"спецификацията."
#: ../../Behavioral/Specification/README.rst:13
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/Specification/README.rst:15
msgid "`RulerZ <https://github.com/K-Phoen/rulerz>`__"
msgstr "`RulerZ <https://github.com/K-Phoen/rulerz>`__"
#: ../../Behavioral/Specification/README.rst:18
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Specification/README.rst:25
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Specification/README.rst:27
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Specification/README.rst:72
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,50 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-28 12:29+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/State/README.rst:2
msgid "`State`__"
msgstr "`Състояние`__"
#: ../../Behavioral/State/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/State/README.rst:7
msgid ""
"Encapsulate varying behavior for the same routine based on an object's "
"state. This can be a cleaner way for an object to change its behavior at "
"runtime without resorting to large monolithic conditional statements."
msgstr ""
"Инкапсулира различно поведение за една и съща процедура (for the same "
"routine) въз основа на състоянието на обекта. Това може да бъде по-чист "
"начин за обект да промени поведението си по време на изпълнение, без да "
"прибягва до големи монолитни условни изявления."
#: ../../Behavioral/State/README.rst:12
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/State/README.rst:19
msgid "Code"
msgstr "Код"
#: ../../Behavioral/State/README.rst:21
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/State/README.rst:54
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,80 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-28 12:36+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/Strategy/README.rst:2
msgid "`Strategy`__"
msgstr "`Стратегия`__"
#: ../../Behavioral/Strategy/README.rst:5
msgid "Terminology:"
msgstr "Терминология:"
#: ../../Behavioral/Strategy/README.rst:7
msgid "Context"
msgstr "Контекст"
#: ../../Behavioral/Strategy/README.rst:8
msgid "Strategy"
msgstr "Стратегия"
#: ../../Behavioral/Strategy/README.rst:9
msgid "Concrete Strategy"
msgstr "Конкретна стратегия"
#: ../../Behavioral/Strategy/README.rst:12
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Strategy/README.rst:14
msgid ""
"To separate strategies and to enable fast switching between them. Also this "
"pattern is a good alternative to inheritance (instead of having an abstract "
"class that is extended)."
msgstr ""
"Да се отделят стратегии и да се даде възможност за бързо превключване между "
"тях. Също така този модел е добра алтернатива на наследяването (вместо да "
"има разширен абстрактен клас)."
#: ../../Behavioral/Strategy/README.rst:19
msgid "Examples"
msgstr "Примери"
#: ../../Behavioral/Strategy/README.rst:21
msgid "sorting a list of objects, one strategy by date, the other by id"
msgstr "сортиране на списък с обекти, едната стратегия по дата, другата по id"
#: ../../Behavioral/Strategy/README.rst:22
msgid ""
"simplify unit testing: e.g. switching between file and in-memory storage"
msgstr ""
"опростяване на модулното тестване: напр. превключване между файл и "
"съхранение в паметта (in-memory storage)"
#: ../../Behavioral/Strategy/README.rst:26
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Strategy/README.rst:33
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Strategy/README.rst:35
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Strategy/README.rst:62
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,78 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-28 12:49+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/TemplateMethod/README.rst:2
msgid "`Template Method`__"
msgstr "`Шаблонен метод`__"
#: ../../Behavioral/TemplateMethod/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/TemplateMethod/README.rst:7
msgid "Template Method is a behavioral design pattern."
msgstr "Шаблонен метод е поведенчески шаблон за дизайн."
#: ../../Behavioral/TemplateMethod/README.rst:9
msgid ""
"Perhaps you have encountered it many times already. The idea is to let "
"subclasses of this abstract template \"finish\" the behavior of an algorithm."
msgstr ""
"Може би вече сте го срещали много пъти. Идеята е да се остави подкласовете "
"на този абстрактен шаблон да „довършат“ поведението на алгоритъм."
#: ../../Behavioral/TemplateMethod/README.rst:13
msgid ""
"A.k.a the \"Hollywood principle\": \"Don't call us, we call you.\" This "
"class is not called by subclasses but the inverse. How? With abstraction of "
"course."
msgstr ""
"А.к.а „холивудският принцип“ (\"Hollywood principle\"): „Не ни се обаждайте, "
"ние ще ви се обадим“. Този клас не се извиква от подкласове, а обратно. Как? "
"С абстракция разбира се."
#: ../../Behavioral/TemplateMethod/README.rst:17
msgid ""
"In other words, this is a skeleton of algorithm, well-suited for framework "
"libraries. The user has just to implement one method and the superclass do "
"the job."
msgstr ""
"С други думи, това е скелет на алгоритъм, подходящ за фреймуърк библиотеки. "
"Потребителят трябва само да напиша един метод и суперкласът свърши работата."
#: ../../Behavioral/TemplateMethod/README.rst:21
msgid ""
"It is an easy way to decouple concrete classes and reduce copy-paste, that's "
"why you'll find it everywhere."
msgstr ""
"Това е лесен начин да отделите конкретни класове и да намалите copy-paste, "
"затова ще го намерите навсякъде."
#: ../../Behavioral/TemplateMethod/README.rst:25
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/TemplateMethod/README.rst:32
msgid "Code"
msgstr "Код"
#: ../../Behavioral/TemplateMethod/README.rst:34
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/TemplateMethod/README.rst:55
msgid "Test"
msgstr "Тест"

View File

@@ -0,0 +1,61 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-29 12:18+0200\n"
"PO-Revision-Date: 2020-11-28 14:02+0200\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language-Team: \n"
"X-Generator: Poedit 2.4.1\n"
"Last-Translator: Vladimir Dediuc <code.geeks1@gmail.com>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"Language: bg\n"
#: ../../Behavioral/Visitor/README.rst:2
msgid "`Visitor`__"
msgstr "`Посетител`__"
#: ../../Behavioral/Visitor/README.rst:5
msgid "Purpose"
msgstr "Предназначение"
#: ../../Behavioral/Visitor/README.rst:7
msgid ""
"The Visitor Pattern lets you outsource operations on objects to other "
"objects. The main reason to do this is to keep a separation of concerns. But "
"classes have to define a contract to allow visitors (the ``Role::accept`` "
"method in the example)."
msgstr ""
"Посетител (шаблон) ви позволява да възлагате операции върху обекти на други "
"обекти. Основната причина да направите това е да поддържате разделение на "
"проблемите. Но класовете трябва да дефинират договор, който да позволи на "
"посетителите (методът ``Role::accept`` в примера)."
#: ../../Behavioral/Visitor/README.rst:12
msgid ""
"The contract is an abstract class but you can have also a clean interface. "
"In that case, each Visitor has to choose itself which method to invoke on "
"the visitor."
msgstr ""
"Договорът е абстрактен клас, но можете да имате и изчистен интерфейс. В този "
"случай всеки посетител трябва сам да избере кой метод на посетителя да "
"извика."
#: ../../Behavioral/Visitor/README.rst:17
msgid "UML Diagram"
msgstr "UML Диаграма"
#: ../../Behavioral/Visitor/README.rst:24
msgid "Code"
msgstr "Код"
#: ../../Behavioral/Visitor/README.rst:26
msgid "You can also find this code on `GitHub`_"
msgstr "Можете също да намерите този код в `GitHub`_"
#: ../../Behavioral/Visitor/README.rst:59
msgid "Test"
msgstr "Тест"