add Russian translation initial files

This commit is contained in:
Faust 2015-05-29 00:10:57 +02:00
parent 48551e04fa
commit d266e1a42b
39 changed files with 2923 additions and 0 deletions

View File

@ -0,0 +1,90 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../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 ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:19
msgid ""
"Yii Framework: CFilterChain is a chain of controller action filters. the "
"executing point is passed from one filter to the next along the chain, and "
"only if all filters say \"yes\", the action can be invoked at last."
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:25
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:32
msgid "Code"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:34
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:36
msgid "Request.php"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:42
msgid "Handler.php"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:48
msgid "Responsible/SlowStorage.php"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:54
msgid "Responsible/FastStorage.php"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:61
msgid "Test"
msgstr ""
#: ../../Behavioral/ChainOfResponsibilities/README.rst:63
msgid "Tests/ChainTest.php"
msgstr ""

View File

@ -0,0 +1,99 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../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 ""
#: ../../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:25
msgid ""
"Symfony2: SF2 Commands that can be run from the CLI are built with just the "
"Command pattern in mind"
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 ""
#: ../../Behavioral/Command/README.rst:32
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/Command/README.rst:39
msgid "Code"
msgstr ""
#: ../../Behavioral/Command/README.rst:41
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Command/README.rst:43
msgid "CommandInterface.php"
msgstr ""
#: ../../Behavioral/Command/README.rst:49
msgid "HelloCommand.php"
msgstr ""
#: ../../Behavioral/Command/README.rst:55
msgid "Receiver.php"
msgstr ""
#: ../../Behavioral/Command/README.rst:61
msgid "Invoker.php"
msgstr ""
#: ../../Behavioral/Command/README.rst:68
msgid "Test"
msgstr ""
#: ../../Behavioral/Command/README.rst:70
msgid "Tests/CommandTest.php"
msgstr ""

View File

@ -0,0 +1,83 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../Behavioral/Iterator/README.rst:25
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:32
msgid "Code"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:34
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:36
msgid "Book.php"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:42
msgid "BookList.php"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:48
msgid "BookListIterator.php"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:54
msgid "BookListReverseIterator.php"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:61
msgid "Test"
msgstr ""
#: ../../Behavioral/Iterator/README.rst:63
msgid "Tests/IteratorTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 to decouple many components working together. "
"It is a good alternative over Observer IF you have a \"central "
"intelligence\", like a controller (but not in the sense of the MVC)."
msgstr ""
#: ../../Behavioral/Mediator/README.rst:11
msgid ""
"All components (called Colleague) are only coupled to the MediatorInterface "
"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 ""
#: ../../Behavioral/Mediator/README.rst:23
msgid "Code"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:25
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:27
msgid "MediatorInterface.php"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:33
msgid "Mediator.php"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:39
msgid "Colleague.php"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:45
msgid "Subsystem/Client.php"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:51
msgid "Subsystem/Database.php"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:57
msgid "Subsystem/Server.php"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:64
msgid "Test"
msgstr ""
#: ../../Behavioral/Mediator/README.rst:66
msgid "Tests/MediatorTest.php"
msgstr ""

View File

@ -0,0 +1,85 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Behavioral/Memento/README.rst:2
msgid "`Memento`_"
msgstr ""
#: ../../Behavioral/Memento/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Behavioral/Memento/README.rst:7
msgid ""
"Provide the ability to restore an object to its previous state (undo via "
"rollback)."
msgstr ""
#: ../../Behavioral/Memento/README.rst:10
msgid ""
"The memento pattern is implemented with three objects: the originator, a "
"caretaker and a memento. The originator is some object that has an internal "
"state. The caretaker is going to do something to the originator, but wants "
"to be able to undo the change. The caretaker first asks the originator for a"
" memento object. Then it does whatever operation (or sequence of operations)"
" it was going to do. To roll back to the state before the operations, it "
"returns the memento object to the originator. The memento object itself is "
"an opaque object (one which the caretaker cannot, or should not, change). "
"When using this pattern, care should be taken if the originator may change "
"other objects or resources - the memento pattern operates on a single "
"object."
msgstr ""
#: ../../Behavioral/Memento/README.rst:23
msgid "Examples"
msgstr ""
#: ../../Behavioral/Memento/README.rst:25
msgid "The seed of a pseudorandom number generator"
msgstr ""
#: ../../Behavioral/Memento/README.rst:26
msgid "The state in a finite state machine"
msgstr ""
#: ../../Behavioral/Memento/README.rst:29
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/Memento/README.rst:36
msgid "Code"
msgstr ""
#: ../../Behavioral/Memento/README.rst:38
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Memento/README.rst:40
msgid "Memento.php"
msgstr ""
#: ../../Behavioral/Memento/README.rst:46
msgid "Originator.php"
msgstr ""
#: ../../Behavioral/Memento/README.rst:52
msgid "Caretaker.php"
msgstr ""
#: ../../Behavioral/Memento/README.rst:59
msgid "Test"
msgstr ""
#: ../../Behavioral/Memento/README.rst:61
msgid "Tests/MementoTest.php"
msgstr ""

View File

@ -0,0 +1,103 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../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 ""
#: ../../Behavioral/NullObject/README.rst:22
msgid "Examples"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:24
msgid "Symfony2: null logger of profiler"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:25
msgid "Symfony2: null output in Symfony/Console"
msgstr ""
#: ../../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 ""
#: ../../Behavioral/NullObject/README.rst:30
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:37
msgid "Code"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:39
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:41
msgid "Service.php"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:47
msgid "LoggerInterface.php"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:53
msgid "PrintLogger.php"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:59
msgid "NullLogger.php"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:66
msgid "Test"
msgstr ""
#: ../../Behavioral/NullObject/README.rst:68
msgid "Tests/LoggerTest.php"
msgstr ""

View File

@ -0,0 +1,75 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 it's state, the attached \"Observers\" will be "
"notified. It is used to shorten the amount of coupled objects and uses loose"
" coupling instead."
msgstr ""
#: ../../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 ""
#: ../../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 ""
#: ../../Behavioral/Observer/README.rst:25
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/Observer/README.rst:32
msgid "Code"
msgstr ""
#: ../../Behavioral/Observer/README.rst:34
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Observer/README.rst:36
msgid "User.php"
msgstr ""
#: ../../Behavioral/Observer/README.rst:42
msgid "UserObserver.php"
msgstr ""
#: ../../Behavioral/Observer/README.rst:49
msgid "Test"
msgstr ""
#: ../../Behavioral/Observer/README.rst:51
msgid "Tests/ObserverTest.php"
msgstr ""

View File

@ -0,0 +1,24 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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,84 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../Behavioral/Specification/README.rst:13
msgid "Examples"
msgstr ""
#: ../../Behavioral/Specification/README.rst:15
msgid "`RulerZ <https://github.com/K-Phoen/rulerz>`__"
msgstr ""
#: ../../Behavioral/Specification/README.rst:18
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/Specification/README.rst:25
msgid "Code"
msgstr ""
#: ../../Behavioral/Specification/README.rst:27
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Specification/README.rst:29
msgid "Item.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:35
msgid "SpecificationInterface.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:41
msgid "AbstractSpecification.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:47
msgid "Either.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:53
msgid "PriceSpecification.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:59
msgid "Plus.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:65
msgid "Not.php"
msgstr ""
#: ../../Behavioral/Specification/README.rst:72
msgid "Test"
msgstr ""
#: ../../Behavioral/Specification/README.rst:74
msgid "Tests/SpecificationTest.php"
msgstr ""

View File

@ -0,0 +1,63 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../Behavioral/State/README.rst:12
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/State/README.rst:19
msgid "Code"
msgstr ""
#: ../../Behavioral/State/README.rst:21
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/State/README.rst:23
msgid "OrderController.php"
msgstr ""
#: ../../Behavioral/State/README.rst:29
msgid "OrderFactory.php"
msgstr ""
#: ../../Behavioral/State/README.rst:35
msgid "OrderInterface.php"
msgstr ""
#: ../../Behavioral/State/README.rst:41
msgid "ShippingOrder.php"
msgstr ""
#: ../../Behavioral/State/README.rst:47
msgid "CreateOrder.php"
msgstr ""
#: ../../Behavioral/State/README.rst:54
msgid "Test"
msgstr ""

View File

@ -0,0 +1,92 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../Behavioral/Strategy/README.rst:22
msgid ""
"simplify unit testing: e.g. switching between file and in-memory storage"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:26
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:33
msgid "Code"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:35
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:37
msgid "ObjectCollection.php"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:43
msgid "ComparatorInterface.php"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:49
msgid "DateComparator.php"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:55
msgid "IdComparator.php"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:62
msgid "Test"
msgstr ""
#: ../../Behavioral/Strategy/README.rst:64
msgid "Tests/StrategyTest.php"
msgstr ""

View File

@ -0,0 +1,83 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../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 ""
#: ../../Behavioral/TemplateMethod/README.rst:25
msgid "UML Diagram"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:32
msgid "Code"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:34
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:36
msgid "Journey.php"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:42
msgid "BeachJourney.php"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:48
msgid "CityJourney.php"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:55
msgid "Test"
msgstr ""
#: ../../Behavioral/TemplateMethod/README.rst:57
msgid "Tests/JourneyTest.php"
msgstr ""

View File

@ -0,0 +1,75 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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 ""
#: ../../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 ""
#: ../../Behavioral/Visitor/README.rst:24
msgid "Code"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:26
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:28
msgid "RoleVisitorInterface.php"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:34
msgid "RolePrintVisitor.php"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:40
msgid "Role.php"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:46
msgid "User.php"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:52
msgid "Group.php"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:59
msgid "Test"
msgstr ""
#: ../../Behavioral/Visitor/README.rst:61
msgid "Tests/VisitorTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/AbstractFactory/README.rst:2
msgid "`Abstract Factory`_"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:7
msgid ""
"To create series of related or dependent objects without specifying their "
"concrete classes. Usually the created classes all implement the same "
"interface. The client of the abstract factory does not care about how these "
"objects are created, he just knows how they go together."
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:13
msgid "UML Diagram"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:20
msgid "Code"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:22
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:24
msgid "AbstractFactory.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:30
msgid "JsonFactory.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:36
msgid "HtmlFactory.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:42
msgid "MediaInterface.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:48
msgid "Picture.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:54
msgid "Text.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:60
msgid "Json/Picture.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:66
msgid "Json/Text.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:72
msgid "Html/Picture.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:78
msgid "Html/Text.php"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:85
msgid "Test"
msgstr ""
#: ../../Creational/AbstractFactory/README.rst:87
msgid "Tests/AbstractFactoryTest.php"
msgstr ""

View File

@ -0,0 +1,110 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/Builder/README.rst:2
msgid "`Builder`_"
msgstr ""
#: ../../Creational/Builder/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Creational/Builder/README.rst:7
msgid "Builder is an interface that build parts of a complex object."
msgstr ""
#: ../../Creational/Builder/README.rst:9
msgid ""
"Sometimes, if the builder has a better knowledge of what it builds, this "
"interface could be an abstract class with default methods (aka adapter)."
msgstr ""
#: ../../Creational/Builder/README.rst:12
msgid ""
"If you have a complex inheritance tree for objects, it is logical to have a "
"complex inheritance tree for builders too."
msgstr ""
#: ../../Creational/Builder/README.rst:15
msgid ""
"Note: Builders have often a fluent interface, see the mock builder of "
"PHPUnit for example."
msgstr ""
#: ../../Creational/Builder/README.rst:19
msgid "Examples"
msgstr ""
#: ../../Creational/Builder/README.rst:21
msgid "PHPUnit: Mock Builder"
msgstr ""
#: ../../Creational/Builder/README.rst:24
msgid "UML Diagram"
msgstr ""
#: ../../Creational/Builder/README.rst:31
msgid "Code"
msgstr ""
#: ../../Creational/Builder/README.rst:33
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/Builder/README.rst:35
msgid "Director.php"
msgstr ""
#: ../../Creational/Builder/README.rst:41
msgid "BuilderInterface.php"
msgstr ""
#: ../../Creational/Builder/README.rst:47
msgid "BikeBuilder.php"
msgstr ""
#: ../../Creational/Builder/README.rst:53
msgid "CarBuilder.php"
msgstr ""
#: ../../Creational/Builder/README.rst:59
msgid "Parts/Vehicle.php"
msgstr ""
#: ../../Creational/Builder/README.rst:65
msgid "Parts/Bike.php"
msgstr ""
#: ../../Creational/Builder/README.rst:71
msgid "Parts/Car.php"
msgstr ""
#: ../../Creational/Builder/README.rst:77
msgid "Parts/Engine.php"
msgstr ""
#: ../../Creational/Builder/README.rst:83
msgid "Parts/Wheel.php"
msgstr ""
#: ../../Creational/Builder/README.rst:89
msgid "Parts/Door.php"
msgstr ""
#: ../../Creational/Builder/README.rst:96
msgid "Test"
msgstr ""
#: ../../Creational/Builder/README.rst:98
msgid "Tests/DirectorTest.php"
msgstr ""

View File

@ -0,0 +1,90 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/FactoryMethod/README.rst:2
msgid "`Factory Method`_"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:7
msgid ""
"The good point over the SimpleFactory is you can subclass it to implement "
"different ways to create objects"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:10
msgid "For simple case, this abstract class could be just an interface"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:12
msgid ""
"This pattern is a \"real\" Design Pattern because it achieves the "
"\"Dependency Inversion Principle\" a.k.a the \"D\" in S.O.L.I.D principles."
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:15
msgid ""
"It means the FactoryMethod class depends on abstractions, not concrete "
"classes. This is the real trick compared to SimpleFactory or StaticFactory."
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:20
msgid "UML Diagram"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:27
msgid "Code"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:29
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:31
msgid "FactoryMethod.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:37
msgid "ItalianFactory.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:43
msgid "GermanFactory.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:49
msgid "VehicleInterface.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:55
msgid "Porsche.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:61
msgid "Bicycle.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:67
msgid "Ferrari.php"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:74
msgid "Test"
msgstr ""
#: ../../Creational/FactoryMethod/README.rst:76
msgid "Tests/FactoryMethodTest.php"
msgstr ""

View File

@ -0,0 +1,64 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/Multiton/README.rst:2
msgid "Multiton"
msgstr ""
#: ../../Creational/Multiton/README.rst:4
msgid ""
"**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND "
"MAINTAINABILITY USE DEPENDENCY INJECTION!**"
msgstr ""
#: ../../Creational/Multiton/README.rst:8
msgid "Purpose"
msgstr ""
#: ../../Creational/Multiton/README.rst:10
msgid ""
"To have only a list of named instances that are used, like a singleton but "
"with n instances."
msgstr ""
#: ../../Creational/Multiton/README.rst:14
msgid "Examples"
msgstr ""
#: ../../Creational/Multiton/README.rst:16
msgid "2 DB Connectors, e.g. one for MySQL, the other for SQLite"
msgstr ""
#: ../../Creational/Multiton/README.rst:17
msgid "multiple Loggers (one for debug messages, one for errors)"
msgstr ""
#: ../../Creational/Multiton/README.rst:20
msgid "UML Diagram"
msgstr ""
#: ../../Creational/Multiton/README.rst:27
msgid "Code"
msgstr ""
#: ../../Creational/Multiton/README.rst:29
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/Multiton/README.rst:31
msgid "Multiton.php"
msgstr ""
#: ../../Creational/Multiton/README.rst:38
msgid "Test"
msgstr ""

View File

@ -0,0 +1,81 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/Pool/README.rst:2
msgid "`Pool`_"
msgstr ""
#: ../../Creational/Pool/README.rst:4
msgid ""
"The **object pool pattern** is a software creational design pattern that "
"uses a set of initialized objects kept ready to use a \"pool\" rather "
"than allocating and destroying them on demand. A client of the pool will "
"request an object from the pool and perform operations on the returned "
"object. When the client has finished, it returns the object, which is a "
"specific type of factory object, to the pool rather than destroying it."
msgstr ""
#: ../../Creational/Pool/README.rst:11
msgid ""
"Object pooling can offer a significant performance boost in situations where"
" the cost of initializing a class instance is high, the rate of "
"instantiation of a class is high, and the number of instances in use at any "
"one time is low. The pooled object is obtained in predictable time when "
"creation of the new objects (especially over network) may take variable "
"time."
msgstr ""
#: ../../Creational/Pool/README.rst:18
msgid ""
"However these benefits are mostly true for objects that are expensive with "
"respect to time, such as database connections, socket connections, threads "
"and large graphic objects like fonts or bitmaps. In certain situations, "
"simple object pooling (that hold no external resources, but only occupy "
"memory) may not be efficient and could decrease performance."
msgstr ""
#: ../../Creational/Pool/README.rst:25
msgid "UML Diagram"
msgstr ""
#: ../../Creational/Pool/README.rst:32
msgid "Code"
msgstr ""
#: ../../Creational/Pool/README.rst:34
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/Pool/README.rst:36
msgid "Pool.php"
msgstr ""
#: ../../Creational/Pool/README.rst:42
msgid "Processor.php"
msgstr ""
#: ../../Creational/Pool/README.rst:48
msgid "Worker.php"
msgstr ""
#: ../../Creational/Pool/README.rst:55
msgid "Test"
msgstr ""
#: ../../Creational/Pool/README.rst:57
msgid "Tests/PoolTest.php"
msgstr ""
#: ../../Creational/Pool/README.rst:63
msgid "Tests/TestWorker.php"
msgstr ""

View File

@ -0,0 +1,68 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/Prototype/README.rst:2
msgid "`Prototype`_"
msgstr ""
#: ../../Creational/Prototype/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Creational/Prototype/README.rst:7
msgid ""
"To avoid the cost of creating objects the standard way (new Foo()) and "
"instead create a prototype and clone it."
msgstr ""
#: ../../Creational/Prototype/README.rst:11
msgid "Examples"
msgstr ""
#: ../../Creational/Prototype/README.rst:13
msgid ""
"Large amounts of data (e.g. create 1,000,000 rows in a database at once via "
"a ORM)."
msgstr ""
#: ../../Creational/Prototype/README.rst:17
msgid "UML Diagram"
msgstr ""
#: ../../Creational/Prototype/README.rst:24
msgid "Code"
msgstr ""
#: ../../Creational/Prototype/README.rst:26
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/Prototype/README.rst:28
msgid "index.php"
msgstr ""
#: ../../Creational/Prototype/README.rst:34
msgid "BookPrototype.php"
msgstr ""
#: ../../Creational/Prototype/README.rst:40
msgid "BarBookPrototype.php"
msgstr ""
#: ../../Creational/Prototype/README.rst:46
msgid "FooBookPrototype.php"
msgstr ""
#: ../../Creational/Prototype/README.rst:53
msgid "Test"
msgstr ""

View File

@ -0,0 +1,25 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/README.rst:2
msgid "Creational"
msgstr ""
#: ../../Creational/README.rst:4
msgid ""
"In software engineering, creational design patterns are design patterns that"
" deal with object creation mechanisms, trying to create objects in a manner "
"suitable to the situation. The basic form of object creation could result in"
" design problems or added complexity to the design. Creational design "
"patterns solve this problem by somehow controlling this object creation."
msgstr ""

View File

@ -0,0 +1,72 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/SimpleFactory/README.rst:2
msgid "Simple Factory"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:7
msgid "ConcreteFactory is a simple factory pattern."
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:9
msgid ""
"It differs from the static factory because it is NOT static and as you know:"
" static => global => evil!"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:12
msgid ""
"Therefore, you can have multiple factories, differently parametrized, you "
"can subclass it and you can mock-up it."
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:16
msgid "UML Diagram"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:23
msgid "Code"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:25
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:27
msgid "ConcreteFactory.php"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:33
msgid "VehicleInterface.php"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:39
msgid "Bicycle.php"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:45
msgid "Scooter.php"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:52
msgid "Test"
msgstr ""
#: ../../Creational/SimpleFactory/README.rst:54
msgid "Tests/SimpleFactoryTest.php"
msgstr ""

View File

@ -0,0 +1,75 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/Singleton/README.rst:2
msgid "`Singleton`_"
msgstr ""
#: ../../Creational/Singleton/README.rst:4
msgid ""
"**THIS IS CONSIDERED TO BE AN ANTI-PATTERN! FOR BETTER TESTABILITY AND "
"MAINTAINABILITY USE DEPENDENCY INJECTION!**"
msgstr ""
#: ../../Creational/Singleton/README.rst:8
msgid "Purpose"
msgstr ""
#: ../../Creational/Singleton/README.rst:10
msgid ""
"To have only one instance of this object in the application that will handle"
" all calls."
msgstr ""
#: ../../Creational/Singleton/README.rst:14
msgid "Examples"
msgstr ""
#: ../../Creational/Singleton/README.rst:16
msgid "DB Connector"
msgstr ""
#: ../../Creational/Singleton/README.rst:17
msgid ""
"Logger (may also be a Multiton if there are many log files for several "
"purposes)"
msgstr ""
#: ../../Creational/Singleton/README.rst:19
msgid ""
"Lock file for the application (there is only one in the filesystem ...)"
msgstr ""
#: ../../Creational/Singleton/README.rst:23
msgid "UML Diagram"
msgstr ""
#: ../../Creational/Singleton/README.rst:30
msgid "Code"
msgstr ""
#: ../../Creational/Singleton/README.rst:32
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/Singleton/README.rst:34
msgid "Singleton.php"
msgstr ""
#: ../../Creational/Singleton/README.rst:41
msgid "Test"
msgstr ""
#: ../../Creational/Singleton/README.rst:43
msgid "Tests/SingletonTest.php"
msgstr ""

View File

@ -0,0 +1,75 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Creational/StaticFactory/README.rst:2
msgid "Static Factory"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:7
msgid ""
"Similar to the AbstractFactory, this pattern is used to create series of "
"related or dependent objects. The difference between this and the abstract "
"factory pattern is that the static factory pattern uses just one static "
"method to create all types of objects it can create. It is usually named "
"``factory`` or ``build``."
msgstr ""
#: ../../Creational/StaticFactory/README.rst:14
msgid "Examples"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:16
msgid ""
"Zend Framework: ``Zend_Cache_Backend`` or ``_Frontend`` use a factory method"
" create cache backends or frontends"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:20
msgid "UML Diagram"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:27
msgid "Code"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:29
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:31
msgid "StaticFactory.php"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:37
msgid "FormatterInterface.php"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:43
msgid "FormatString.php"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:49
msgid "FormatNumber.php"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:56
msgid "Test"
msgstr ""
#: ../../Creational/StaticFactory/README.rst:58
msgid "Tests/StaticFactoryTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../More/Delegation/README.rst:2
msgid "`Delegation`_"
msgstr ""
#: ../../More/Delegation/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../More/Delegation/README.rst:7 ../../More/Delegation/README.rst:12
msgid "..."
msgstr ""
#: ../../More/Delegation/README.rst:10
msgid "Examples"
msgstr ""
#: ../../More/Delegation/README.rst:15
msgid "UML Diagram"
msgstr ""
#: ../../More/Delegation/README.rst:22
msgid "Code"
msgstr ""
#: ../../More/Delegation/README.rst:24
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../More/Delegation/README.rst:26
msgid "Usage.php"
msgstr ""
#: ../../More/Delegation/README.rst:32
msgid "TeamLead.php"
msgstr ""
#: ../../More/Delegation/README.rst:38
msgid "JuniorDeveloper.php"
msgstr ""
#: ../../More/Delegation/README.rst:45
msgid "Test"
msgstr ""
#: ../../More/Delegation/README.rst:47
msgid "Tests/DelegationTest.php"
msgstr ""

View File

@ -0,0 +1,16 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../More/README.rst:2
msgid "More"
msgstr ""

View File

@ -0,0 +1,76 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../More/Repository/README.rst:2
msgid "Repository"
msgstr ""
#: ../../More/Repository/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../More/Repository/README.rst:7
msgid ""
"Mediates between the domain and data mapping layers using a collection-like "
"interface for accessing domain objects. Repository encapsulates the set of "
"objects persisted in a data store and the operations performed over them, "
"providing a more object-oriented view of the persistence layer. Repository "
"also supports the objective of achieving a clean separation and one-way "
"dependency between the domain and data mapping layers."
msgstr ""
#: ../../More/Repository/README.rst:16
msgid "Examples"
msgstr ""
#: ../../More/Repository/README.rst:18
msgid ""
"Doctrine 2 ORM: there is Repository that mediates between Entity and DBAL "
"and contains methods to retrieve objects"
msgstr ""
#: ../../More/Repository/README.rst:20
msgid "Laravel Framework"
msgstr ""
#: ../../More/Repository/README.rst:23
msgid "UML Diagram"
msgstr ""
#: ../../More/Repository/README.rst:30
msgid "Code"
msgstr ""
#: ../../More/Repository/README.rst:32
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../More/Repository/README.rst:34
msgid "Post.php"
msgstr ""
#: ../../More/Repository/README.rst:40
msgid "PostRepository.php"
msgstr ""
#: ../../More/Repository/README.rst:46
msgid "Storage.php"
msgstr ""
#: ../../More/Repository/README.rst:52
msgid "MemoryStorage.php"
msgstr ""
#: ../../More/Repository/README.rst:59
msgid "Test"
msgstr ""

View File

@ -0,0 +1,94 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../More/ServiceLocator/README.rst:2
msgid "`Service Locator`_"
msgstr ""
#: ../../More/ServiceLocator/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../More/ServiceLocator/README.rst:7
msgid ""
"To implement a loosely coupled architecture in order to get better testable,"
" maintainable and extendable code. DI pattern and Service Locator pattern "
"are an implementation of the Inverse of Control pattern."
msgstr ""
#: ../../More/ServiceLocator/README.rst:12
msgid "Usage"
msgstr ""
#: ../../More/ServiceLocator/README.rst:14
msgid ""
"With ``ServiceLocator`` you can register a service for a given interface. By"
" using the interface you can retrieve the service and use it in the classes "
"of the application without knowing its implementation. You can configure and"
" inject the Service Locator object on bootstrap."
msgstr ""
#: ../../More/ServiceLocator/README.rst:20
msgid "Examples"
msgstr ""
#: ../../More/ServiceLocator/README.rst:22
msgid ""
"Zend Framework 2 uses Service Locator to create and share services used in "
"the framework(i.e. EventManager, ModuleManager, all custom user services "
"provided by modules, etc...)"
msgstr ""
#: ../../More/ServiceLocator/README.rst:27
msgid "UML Diagram"
msgstr ""
#: ../../More/ServiceLocator/README.rst:34
msgid "Code"
msgstr ""
#: ../../More/ServiceLocator/README.rst:36
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../More/ServiceLocator/README.rst:38
msgid "ServiceLocatorInterface.php"
msgstr ""
#: ../../More/ServiceLocator/README.rst:44
msgid "ServiceLocator.php"
msgstr ""
#: ../../More/ServiceLocator/README.rst:50
msgid "LogServiceInterface.php"
msgstr ""
#: ../../More/ServiceLocator/README.rst:56
msgid "LogService.php"
msgstr ""
#: ../../More/ServiceLocator/README.rst:62
msgid "DatabaseServiceInterface.php"
msgstr ""
#: ../../More/ServiceLocator/README.rst:68
msgid "DatabaseService.php"
msgstr ""
#: ../../More/ServiceLocator/README.rst:75
msgid "Test"
msgstr ""
#: ../../More/ServiceLocator/README.rst:77
msgid "Tests/ServiceLocatorTest.php"
msgstr ""

View File

@ -0,0 +1,93 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../README.rst:5
msgid "DesignPatternsPHP"
msgstr ""
#: ../../README.rst:11
msgid ""
"This is a collection of known `design patterns`_ and some sample code how to"
" implement them in PHP. Every pattern has a small list of examples (most of "
"them from Zend Framework, Symfony2 or Doctrine2 as I'm most familiar with "
"this software)."
msgstr ""
#: ../../README.rst:16
msgid ""
"I think the problem with patterns is that often people do know them but "
"don't know when to apply which."
msgstr ""
#: ../../README.rst:20
msgid "Patterns"
msgstr ""
#: ../../README.rst:22
msgid ""
"The patterns can be structured in roughly three different categories. Please"
" click on **the title of every pattern's page** for a full explanation of "
"the pattern on Wikipedia."
msgstr ""
#: ../../README.rst:35
msgid "Contribute"
msgstr ""
#: ../../README.rst:37
msgid ""
"Please feel free to fork and extend existing or add your own examples and "
"send a pull request with your changes! To establish a consistent code "
"quality, please check your code using `PHP CodeSniffer`_ against `PSR2 "
"standard`_ using ``./vendor/bin/phpcs -p --standard=PSR2 --ignore=vendor "
".``."
msgstr ""
#: ../../README.rst:44
msgid "License"
msgstr ""
#: ../../README.rst:46
msgid "(The MIT License)"
msgstr ""
#: ../../README.rst:48
msgid "Copyright (c) 2014 `Dominik Liebler`_ and `contributors`_"
msgstr ""
#: ../../README.rst:50
msgid ""
"Permission is hereby granted, free of charge, to any person obtaining a copy"
" of this software and associated documentation files (the 'Software'), to "
"deal in the Software without restriction, including without limitation the "
"rights to use, copy, modify, merge, publish, distribute, sublicense, and/or "
"sell copies of the Software, and to permit persons to whom the Software is "
"furnished to do so, subject to the following conditions:"
msgstr ""
#: ../../README.rst:58
msgid ""
"The above copyright notice and this permission notice shall be included in "
"all copies or substantial portions of the Software."
msgstr ""
#: ../../README.rst:61
msgid ""
"THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR "
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, "
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE "
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER "
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING "
"FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS"
" IN THE SOFTWARE."
msgstr ""

View File

@ -0,0 +1,82 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Adapter/README.rst:2
msgid "`Adapter / Wrapper`_"
msgstr ""
#: ../../Structural/Adapter/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Adapter/README.rst:7
msgid ""
"To translate one interface for a class into a compatible interface. An "
"adapter allows classes to work together that normally could not because of "
"incompatible interfaces by providing it's interface to clients while using "
"the original interface."
msgstr ""
#: ../../Structural/Adapter/README.rst:13
msgid "Examples"
msgstr ""
#: ../../Structural/Adapter/README.rst:15
msgid "DB Client libraries adapter"
msgstr ""
#: ../../Structural/Adapter/README.rst:16
msgid ""
"using multiple different webservices and adapters normalize data so that the"
" outcome is the same for all"
msgstr ""
#: ../../Structural/Adapter/README.rst:20
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Adapter/README.rst:27
msgid "Code"
msgstr ""
#: ../../Structural/Adapter/README.rst:29
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Adapter/README.rst:31
msgid "PaperBookInterface.php"
msgstr ""
#: ../../Structural/Adapter/README.rst:37
msgid "Book.php"
msgstr ""
#: ../../Structural/Adapter/README.rst:43
msgid "EBookAdapter.php"
msgstr ""
#: ../../Structural/Adapter/README.rst:49
msgid "EBookInterface.php"
msgstr ""
#: ../../Structural/Adapter/README.rst:55
msgid "Kindle.php"
msgstr ""
#: ../../Structural/Adapter/README.rst:62
msgid "Test"
msgstr ""
#: ../../Structural/Adapter/README.rst:64
msgid "Tests/AdapterTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Bridge/README.rst:2
msgid "`Bridge`_"
msgstr ""
#: ../../Structural/Bridge/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Bridge/README.rst:7
msgid ""
"Decouple an abstraction from its implementation so that the two can vary "
"independently. (http://en.wikipedia.org/wiki/Bridge\\_pattern)"
msgstr ""
#: ../../Structural/Bridge/README.rst:11
msgid "Sample:"
msgstr ""
#: ../../Structural/Bridge/README.rst:13
msgid "`Symfony DoctrineBridge <https://github.com/symfony/DoctrineBridge>`__"
msgstr ""
#: ../../Structural/Bridge/README.rst:17
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Bridge/README.rst:24
msgid "Code"
msgstr ""
#: ../../Structural/Bridge/README.rst:26
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Bridge/README.rst:28
msgid "Workshop.php"
msgstr ""
#: ../../Structural/Bridge/README.rst:34
msgid "Assemble.php"
msgstr ""
#: ../../Structural/Bridge/README.rst:40
msgid "Produce.php"
msgstr ""
#: ../../Structural/Bridge/README.rst:46
msgid "Vehicle.php"
msgstr ""
#: ../../Structural/Bridge/README.rst:52
msgid "Motorcycle.php"
msgstr ""
#: ../../Structural/Bridge/README.rst:58
msgid "Car.php"
msgstr ""
#: ../../Structural/Bridge/README.rst:65
msgid "Test"
msgstr ""
#: ../../Structural/Bridge/README.rst:67
msgid "Tests/BridgeTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Composite/README.rst:2
msgid "`Composite`_"
msgstr ""
#: ../../Structural/Composite/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Composite/README.rst:7
msgid ""
"To treat a group of objects the same way as a single instance of the object."
msgstr ""
#: ../../Structural/Composite/README.rst:11
msgid "Examples"
msgstr ""
#: ../../Structural/Composite/README.rst:13
msgid ""
"a form class instance handles all its form elements like a single instance "
"of the form, when ``render()`` is called, it subsequently runs through all "
"its child elements and calls ``render()`` on them"
msgstr ""
#: ../../Structural/Composite/README.rst:16
msgid ""
"``Zend_Config``: a tree of configuration options, each one is a "
"``Zend_Config`` object itself"
msgstr ""
#: ../../Structural/Composite/README.rst:20
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Composite/README.rst:27
msgid "Code"
msgstr ""
#: ../../Structural/Composite/README.rst:29
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Composite/README.rst:31
msgid "FormElement.php"
msgstr ""
#: ../../Structural/Composite/README.rst:37
msgid "Form.php"
msgstr ""
#: ../../Structural/Composite/README.rst:43
msgid "InputElement.php"
msgstr ""
#: ../../Structural/Composite/README.rst:49
msgid "TextElement.php"
msgstr ""
#: ../../Structural/Composite/README.rst:56
msgid "Test"
msgstr ""
#: ../../Structural/Composite/README.rst:58
msgid "Tests/CompositeTest.php"
msgstr ""

View File

@ -0,0 +1,77 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/DataMapper/README.rst:2
msgid "`Data Mapper`_"
msgstr ""
#: ../../Structural/DataMapper/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/DataMapper/README.rst:7
msgid ""
"A Data Mapper, is a Data Access Layer that performs bidirectional transfer "
"of data between a persistent data store (often a relational database) and an"
" in memory data representation (the domain layer). The goal of the pattern "
"is to keep the in memory representation and the persistent data store "
"independent of each other and the data mapper itself. The layer is composed "
"of one or more mappers (or Data Access Objects), performing the data "
"transfer. Mapper implementations vary in scope. Generic mappers will handle "
"many different domain entity types, dedicated mappers will handle one or a "
"few."
msgstr ""
#: ../../Structural/DataMapper/README.rst:17
msgid ""
"The key point of this pattern is, unlike Active Record pattern, the data "
"model follows Single Responsibility Principle."
msgstr ""
#: ../../Structural/DataMapper/README.rst:21
msgid "Examples"
msgstr ""
#: ../../Structural/DataMapper/README.rst:23
msgid ""
"DB Object Relational Mapper (ORM) : Doctrine2 uses DAO named as "
"\"EntityRepository\""
msgstr ""
#: ../../Structural/DataMapper/README.rst:27
msgid "UML Diagram"
msgstr ""
#: ../../Structural/DataMapper/README.rst:34
msgid "Code"
msgstr ""
#: ../../Structural/DataMapper/README.rst:36
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/DataMapper/README.rst:38
msgid "User.php"
msgstr ""
#: ../../Structural/DataMapper/README.rst:44
msgid "UserMapper.php"
msgstr ""
#: ../../Structural/DataMapper/README.rst:51
msgid "Test"
msgstr ""
#: ../../Structural/DataMapper/README.rst:53
msgid "Tests/DataMapperTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Decorator/README.rst:2
msgid "`Decorator`_"
msgstr ""
#: ../../Structural/Decorator/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Decorator/README.rst:7
msgid "To dynamically add new functionality to class instances."
msgstr ""
#: ../../Structural/Decorator/README.rst:10
msgid "Examples"
msgstr ""
#: ../../Structural/Decorator/README.rst:12
msgid "Zend Framework: decorators for ``Zend_Form_Element`` instances"
msgstr ""
#: ../../Structural/Decorator/README.rst:13
msgid ""
"Web Service Layer: Decorators JSON and XML for a REST service (in this case,"
" only one of these should be allowed of course)"
msgstr ""
#: ../../Structural/Decorator/README.rst:17
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Decorator/README.rst:24
msgid "Code"
msgstr ""
#: ../../Structural/Decorator/README.rst:26
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Decorator/README.rst:28
msgid "RendererInterface.php"
msgstr ""
#: ../../Structural/Decorator/README.rst:34
msgid "Webservice.php"
msgstr ""
#: ../../Structural/Decorator/README.rst:40
msgid "Decorator.php"
msgstr ""
#: ../../Structural/Decorator/README.rst:46
msgid "RenderInXml.php"
msgstr ""
#: ../../Structural/Decorator/README.rst:52
msgid "RenderInJson.php"
msgstr ""
#: ../../Structural/Decorator/README.rst:59
msgid "Test"
msgstr ""
#: ../../Structural/Decorator/README.rst:61
msgid "Tests/DecoratorTest.php"
msgstr ""

View File

@ -0,0 +1,107 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/DependencyInjection/README.rst:2
msgid "`Dependency Injection`_"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:7
msgid ""
"To implement a loosely coupled architecture in order to get better testable,"
" maintainable and extendable code."
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:11
msgid "Usage"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:13
msgid ""
"Configuration gets injected and ``Connection`` will get all that it needs "
"from ``$config``. Without DI, the configuration would be created directly in"
" ``Connection``, which is not very good for testing and extending "
"``Connection``."
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:18
msgid ""
"Notice we are following Inversion of control principle in ``Connection`` by "
"asking ``$config`` to implement ``Parameters`` interface. This decouples our"
" components. We don't care where the source of information comes from, we "
"only care that ``$config`` has certain methods to retrieve that information."
" Read more about Inversion of control `here "
"<http://en.wikipedia.org/wiki/Inversion_of_control>`__."
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:26
msgid "Examples"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:28
msgid ""
"The Doctrine2 ORM uses dependency injection e.g. for configuration that is "
"injected into a ``Connection`` object. For testing purposes, one can easily "
"create a mock object of the configuration and inject that into the "
"``Connection`` object"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:32
msgid ""
"Symfony and Zend Framework 2 already have containers for DI that create "
"objects via a configuration array and inject them where needed (i.e. in "
"Controllers)"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:37
msgid "UML Diagram"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:44
msgid "Code"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:46
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:48
msgid "AbstractConfig.php"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:54
msgid "Parameters.php"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:60
msgid "ArrayConfig.php"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:66
msgid "Connection.php"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:73
msgid "Test"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:75
msgid "Tests/DependencyInjectionTest.php"
msgstr ""
#: ../../Structural/DependencyInjection/README.rst:81
msgid "Tests/config.php"
msgstr ""

View File

@ -0,0 +1,87 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Facade/README.rst:2
msgid "`Facade`_"
msgstr ""
#: ../../Structural/Facade/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Facade/README.rst:7
msgid ""
"The primary goal of a Facade Pattern is not to avoid you to read the manual "
"of a complex API. It's only a side-effect. The first goal is to reduce "
"coupling and follow the Law of Demeter."
msgstr ""
#: ../../Structural/Facade/README.rst:11
msgid ""
"A Facade is meant to decouple a client and a sub-system by embedding many "
"(but sometimes just one) interface, and of course to reduce complexity."
msgstr ""
#: ../../Structural/Facade/README.rst:15
msgid "A facade does not forbid you the access to the sub-system"
msgstr ""
#: ../../Structural/Facade/README.rst:16
msgid "You can (you should) have multiple facades for one sub-system"
msgstr ""
#: ../../Structural/Facade/README.rst:18
msgid ""
"That's why a good facade has no ``new`` in it. If there are multiple "
"creations for each method, it is not a Facade, it's a Builder or a "
"[Abstract\\|Static\\|Simple] Factory [Method]."
msgstr ""
#: ../../Structural/Facade/README.rst:22
msgid ""
"The best facade has no ``new`` and a constructor with interface-type-hinted "
"parameters. If you need creation of new instances, use a Factory as "
"argument."
msgstr ""
#: ../../Structural/Facade/README.rst:27
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Facade/README.rst:34
msgid "Code"
msgstr ""
#: ../../Structural/Facade/README.rst:36
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Facade/README.rst:38
msgid "Facade.php"
msgstr ""
#: ../../Structural/Facade/README.rst:44
msgid "OsInterface.php"
msgstr ""
#: ../../Structural/Facade/README.rst:50
msgid "BiosInterface.php"
msgstr ""
#: ../../Structural/Facade/README.rst:57
msgid "Test"
msgstr ""
#: ../../Structural/Facade/README.rst:59
msgid "Tests/FacadeTest.php"
msgstr ""

View File

@ -0,0 +1,66 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/FluentInterface/README.rst:2
msgid "`Fluent Interface`_"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:7
msgid ""
"To write code that is easy readable just like sentences in a natural "
"language (like English)."
msgstr ""
#: ../../Structural/FluentInterface/README.rst:11
msgid "Examples"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:13
msgid "Doctrine2's QueryBuilder works something like that example class below"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:15
msgid "PHPUnit uses fluent interfaces to build mock objects"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:16
msgid "Yii Framework: CDbCommand and CActiveRecord use this pattern, too"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:19
msgid "UML Diagram"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:26
msgid "Code"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:28
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:30
msgid "Sql.php"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:37
msgid "Test"
msgstr ""
#: ../../Structural/FluentInterface/README.rst:39
msgid "Tests/FluentInterfaceTest.php"
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-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Proxy/README.rst:2
msgid "`Proxy`_"
msgstr ""
#: ../../Structural/Proxy/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Proxy/README.rst:7
msgid "To interface to anything that is expensive or impossible to duplicate."
msgstr ""
#: ../../Structural/Proxy/README.rst:10
msgid "Examples"
msgstr ""
#: ../../Structural/Proxy/README.rst:12
msgid ""
"Doctrine2 uses proxies to implement framework magic (e.g. lazy "
"initialization) in them, while the user still works with his own entity "
"classes and will never use nor touch the proxies"
msgstr ""
#: ../../Structural/Proxy/README.rst:17
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Proxy/README.rst:24
msgid "Code"
msgstr ""
#: ../../Structural/Proxy/README.rst:26
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Proxy/README.rst:28
msgid "Record.php"
msgstr ""
#: ../../Structural/Proxy/README.rst:34
msgid "RecordProxy.php"
msgstr ""
#: ../../Structural/Proxy/README.rst:41
msgid "Test"
msgstr ""

View File

@ -0,0 +1,23 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/README.rst:2
msgid "Structural"
msgstr ""
#: ../../Structural/README.rst:4
msgid ""
"In Software Engineering, Structural Design Patterns are Design Patterns that"
" ease the design by identifying a simple way to realize relationships "
"between entities."
msgstr ""

View File

@ -0,0 +1,67 @@
#
msgid ""
msgstr ""
"Project-Id-Version: DesignPatternsPHP 1.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2015-05-28 18:54+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../Structural/Registry/README.rst:2
msgid "`Registry`_"
msgstr ""
#: ../../Structural/Registry/README.rst:5
msgid "Purpose"
msgstr ""
#: ../../Structural/Registry/README.rst:7
msgid ""
"To implement a central storage for objects often used throughout the "
"application, is typically implemented using an abstract class with only "
"static methods (or using the Singleton pattern)"
msgstr ""
#: ../../Structural/Registry/README.rst:12
msgid "Examples"
msgstr ""
#: ../../Structural/Registry/README.rst:14
msgid ""
"Zend Framework: ``Zend_Registry`` holds the application's logger object, "
"front controller etc."
msgstr ""
#: ../../Structural/Registry/README.rst:16
msgid ""
"Yii Framework: ``CWebApplication`` holds all the application components, "
"such as ``CWebUser``, ``CUrlManager``, etc."
msgstr ""
#: ../../Structural/Registry/README.rst:20
msgid "UML Diagram"
msgstr ""
#: ../../Structural/Registry/README.rst:27
msgid "Code"
msgstr ""
#: ../../Structural/Registry/README.rst:29
msgid "You can also find these code on `GitHub`_"
msgstr ""
#: ../../Structural/Registry/README.rst:31
msgid "Registry.php"
msgstr ""
#: ../../Structural/Registry/README.rst:38
msgid "Test"
msgstr ""
#: ../../Structural/Registry/README.rst:40
msgid "Tests/RegistryTest.php"
msgstr ""