{"id":86945,"date":"2024-12-05T20:25:48","date_gmt":"2024-12-05T16:55:48","guid":{"rendered":"https:\/\/nabfollower.com\/blog\/design-patterns-in-java-a-simplified-guide-3-5a1b\/"},"modified":"2024-12-05T20:25:48","modified_gmt":"2024-12-05T16:55:48","slug":"design-patterns-in-java-a-simplified-guide-3-5a1b","status":"publish","type":"post","link":"https:\/\/nabfollower.com\/blog\/design-patterns-in-java-a-simplified-guide-3-5a1b\/","title":{"rendered":"\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u062f\u0631 \u062c\u0627\u0648\u0627 &#8211; \u0631\u0627\u0647\u0646\u0645\u0627\u06cc \u0633\u0627\u062f\u0647 \u0634\u062f\u0647 \u0634\u0645\u0627\u0631\u0647 3"},"content":{"rendered":"<p>Summarize this content to 400 words in Persian Lang<br \/>\n              \u0628\u0647 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc 3 \u0642\u0633\u0645\u062a\u06cc \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u06cc\u06a9 \u0645\u0642\u062f\u0645\u0647 \u0645\u0642\u062f\u0645\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u062e\u0627\u0635\u060c \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0686\u06cc\u0633\u062a\u060c \u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646\u0647\u0627 \u0628\u062f\u0627\u0646\u06cc\u0645\u060c \u0627\u0646\u0648\u0627\u0639 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0648 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f.<\/p>\n<p>\u0644\u06cc\u0646\u06a9 \u0647\u0627\u06cc \u0633\u0631\u06cc\u0639:<\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u062e\u0644\u0627\u0642\u06cc\u062a<br \/>\n\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc<br \/>\n\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc<\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0686\u06cc\u0633\u062a\u061f<\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627\u06cc \u0627\u062b\u0628\u0627\u062a \u0634\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u0646\u062f \u062a\u0627 \u0648\u0638\u0627\u06cc\u0641 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u062d\u0644 \u06a9\u0646\u0646\u062f \u0648 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627\u06cc \u0645\u0648\u0641\u0642 \u0631\u0627 \u0645\u062c\u062f\u062f\u0627\u064b \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f \u0648 \u062f\u0631\u06a9 \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0622\u0633\u0627\u0646 \u062a\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0637\u0631\u062d\u06cc \u0628\u0631\u0627\u06cc \u062d\u0644 \u0645\u0634\u06a9\u0644\u0627\u062a \u0645\u0639\u0645\u0648\u0644\u06cc \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a\u0646 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u062e \u0645\u06cc \u062f\u0647\u0646\u062f\u060c \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<p>\u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631\u0628\u0627\u0631\u0647 \u0622\u0646\u0647\u0627 \u0628\u062f\u0627\u0646\u06cc\u0645\u061f<\/p>\n<p>\u062f\u0627\u0646\u0633\u062a\u0646 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u062d\u0644 \u06a9\u0646\u0646\u062f \u0648 \u06a9\u062f \u0631\u0627 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062c\u062f\u062f\u060c \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u062a\u0631 \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0647 \u0622\u0634\u067e\u0632\u062e\u0627\u0646\u0647 \u0631\u0633\u062a\u0648\u0631\u0627\u0646 \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f. \u0633\u0631\u0622\u0634\u067e\u0632 \u0628\u0631\u0627\u06cc \u062a\u0647\u06cc\u0647 \u06cc\u06a9 \u063a\u0630\u0627 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 (\u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc) \u067e\u06cc\u0631\u0648\u06cc \u0645\u06cc \u06a9\u0646\u062f. \u0633\u0631\u0622\u0634\u067e\u0632 \u0628\u0647 \u062c\u0627\u06cc \u0627\u062e\u062a\u0631\u0627\u0639 \u0645\u062c\u062f\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u0647\u0631 \u0628\u0627\u0631\u060c \u0627\u0632 \u0645\u0631\u0627\u062d\u0644 \u0627\u062b\u0628\u0627\u062a \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u062f\u0627\u0648\u0645 \u063a\u0630\u0627\u06cc \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0637\u0648\u0631 \u0645\u0634\u0627\u0628\u0647\u060c \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627 \u0628\u062f\u0648\u0646 \u0627\u062e\u062a\u0631\u0627\u0639 \u0645\u062c\u062f\u062f \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627 \u0647\u0631 \u0628\u0627\u0631 \u062d\u0644 \u06a9\u0646\u0646\u062f.<\/p>\n<p>\u0627\u0646\u0648\u0627\u0639 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc:<\/p>\n<p>\u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0647 \u0633\u0647 \u06af\u0631\u0648\u0647 \u0627\u0635\u0644\u06cc \u062f\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f:<\/p>\n<p>1. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u062e\u0644\u0627\u0642\u06cc\u062a: \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0647 \u0627\u06cc\u062c\u0627\u062f \u0627\u0634\u06cc\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631 \u0648 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062c\u062f\u062f \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.2. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc: \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0631 \u0646\u062d\u0648\u0647 \u0686\u06cc\u062f\u0645\u0627\u0646 \u0648 \u0627\u062a\u0635\u0627\u0644 \u0627\u062c\u0633\u0627\u0645 \u0628\u0631\u0627\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u062a\u0631 \u062a\u0645\u0631\u06a9\u0632 \u0645\u06cc \u06a9\u0646\u0646\u062f.3. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc: \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0627 \u0646\u062d\u0648\u0647 \u062a\u0639\u0627\u0645\u0644 \u0648 \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0631\u0646\u062f.<\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc<\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc \u0628\u0647 \u0646\u062d\u0648\u0647 \u062a\u0639\u0627\u0645\u0644 \u0648 \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p>\u0632\u0646\u062c\u06cc\u0631\u0647 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a:<\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u067e\u0631\u062f\u0627\u0632\u0634 \u0633\u0641\u0627\u0631\u0634\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0633\u0637\u0648\u062d \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u062a\u0627\u06cc\u06cc\u062f \u0628\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0633\u0641\u0627\u0631\u0634 \u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9 \u0628\u0647 \u06cc\u06a9 \u06a9\u0627\u0631\u0645\u0646\u062f\u060c \u0633\u0641\u0627\u0631\u0634 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u0628\u0647 \u06cc\u06a9 \u0645\u062f\u06cc\u0631). \u0627\u0644\u06af\u0648\u06cc \u0632\u0646\u062c\u06cc\u0631\u0647 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0631\u0627 \u062f\u0631 \u0627\u0645\u062a\u062f\u0627\u062f \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc \u0627\u0632 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0647\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9\u06cc \u0622\u0646 \u0631\u0627 \u0631\u0633\u06cc\u062f\u06af\u06cc \u06a9\u0646\u062f.<\/p>\n<p>abstract class OrderHandler {<br \/>\n    protected OrderHandler nextHandler;<\/p>\n<p>    public void setNextHandler(OrderHandler handler) {<br \/>\n        this.nextHandler = handler;<br \/>\n    }<\/p>\n<p>    public abstract void handleOrder(int amount);<br \/>\n}<\/p>\n<p>class ClerkHandler extends OrderHandler {<br \/>\n    public void handleOrder(int amount) {<br \/>\n        if (amount &lt; 500) {<br \/>\n            System.out.println(&#8220;Clerk handling order&#8221;);<br \/>\n        } else if (nextHandler != null) {<br \/>\n            nextHandler.handleOrder(amount);<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<p>class ManagerHandler extends OrderHandler {<br \/>\n    public void handleOrder(int amount) {<br \/>\n        if (amount &gt;= 500) {<br \/>\n            System.out.println(&#8220;Manager handling order&#8221;);<br \/>\n        } else if (nextHandler != null) {<br \/>\n            nextHandler.handleOrder(amount);<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0641\u0631\u0645\u0627\u0646:<\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646\u060c \u0627\u0644\u06af\u0648\u06cc \u0641\u0631\u0645\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0627\u0642\u062f\u0627\u0645\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u067e\u06cc\u060c \u0686\u0633\u0628\u0627\u0646\u062f\u0646 \u0648 \u0648\u0627\u06af\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u060c \u0628\u0647 \u0637\u0648\u0631\u06cc \u06a9\u0647 \u0647\u0631 \u0639\u0645\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0634\u06cc \u06a9\u067e\u0633\u0648\u0644\u0647 \u0634\u0648\u062f.<\/p>\n<p>interface Command {<br \/>\n    void execute();<br \/>\n}<\/p>\n<p>class CopyCommand implements Command {<br \/>\n    private TextEditor editor;<\/p>\n<p>    public CopyCommand(TextEditor editor) {<br \/>\n        this.editor = editor;<br \/>\n    }<\/p>\n<p>    public void execute() {<br \/>\n        editor.copyText();<br \/>\n    }<br \/>\n}<\/p>\n<p>class TextEditor {<br \/>\n    public void copyText() {<br \/>\n        System.out.println(&#8220;Text copied&#8221;);<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0646\u0627\u0638\u0631:<\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u067e\u0627\u06cc\u0634 \u0622\u0628 \u0648 \u0647\u0648\u0627\u060c \u0686\u0646\u062f\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 (\u0645\u0627\u0646\u0646\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062a\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647\u060c \u0627\u06cc\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc \u0647\u0648\u0627\u0634\u0646\u0627\u0633\u06cc) \u0628\u0627\u06cc\u062f \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0634\u0631\u0627\u06cc\u0637 \u0622\u0628 \u0648 \u0647\u0648\u0627\u06cc\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0628\u0647 \u0631\u0648\u0632 \u0634\u0648\u0646\u062f.<\/p>\n<p>interface Observer {<br \/>\n    void update(String weather);<br \/>\n}<\/p>\n<p>class WeatherStation {<br \/>\n    private List observers = new ArrayList&lt;&gt;();<\/p>\n<p>    public void addObserver(Observer observer) {<br \/>\n        observers.add(observer);<br \/>\n    }<\/p>\n<p>    public void notifyObservers(String weather) {<br \/>\n        for (Observer observer : observers) {<br \/>\n            observer.update(weather);<br \/>\n        }<br \/>\n    }<br \/>\n}<\/p>\n<p>class WeatherApp implements Observer {<br \/>\n    public void update(String weather) {<br \/>\n        System.out.println(&#8220;Weather update: &#8221; + weather);<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc:<\/p>\n<p>\u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0633\u0628\u0647 \u0647\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0645\u0639\u0645\u0648\u0644\u06cc\u060c \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0633\u0631\u06cc\u0639). \u0627\u0644\u06af\u0648\u06cc \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u062c\u0627\u0628\u062c\u0627 \u0634\u0648\u06cc\u062f.<\/p>\n<p>interface ShippingStrategy {<br \/>\n    double calculateShippingCost(double weight);<br \/>\n}<\/p>\n<p>class RegularShipping implements ShippingStrategy {<br \/>\n    public double calculateShippingCost(double weight) {<br \/>\n        return weight * 2;<br \/>\n    }<br \/>\n}<\/p>\n<p>class ExpeditedShipping implements ShippingStrategy {<br \/>\n    public double calculateShippingCost(double weight) {<br \/>\n        return weight * 5;<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<p>\u0631\u0648\u0634 \u0642\u0627\u0644\u0628:<\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0628\u0627\u0632\u06cc\u060c \u0634\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u0634\u062e\u0635\u06cc\u062a\u200c\u0647\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u0645\u0631\u0627\u062d\u0644 \u0645\u0634\u0627\u0628\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u0645\u0644\u0647 \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0627\u0645\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u062e\u0627\u0635 \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0633\u062a. \u0645\u062a\u062f \u0627\u0644\u06af\u0648 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06cc\u06a9 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u06a9\u0644\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0628\u0647 \u0632\u06cc\u0631 \u06a9\u0644\u0627\u0633 \u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u0645\u0631\u0627\u062d\u0644 \u062e\u0627\u0635\u06cc \u0631\u0627 \u0644\u063a\u0648 \u06a9\u0646\u0646\u062f.<\/p>\n<p>abstract class GameCharacter {<br \/>\n    public void attack() {<br \/>\n        moveToTarget();<br \/>\n        performAttack();<br \/>\n        celebrate();<br \/>\n    }<\/p>\n<p>    protected void moveToTarget() {<br \/>\n        System.out.println(&#8220;Moving to target&#8230;&#8221;);<br \/>\n    }<\/p>\n<p>    protected abstract void performAttack();<\/p>\n<p>    protected void celebrate() {<br \/>\n        System.out.println(&#8220;Celebrating after attack&#8230;&#8221;);<br \/>\n    }<br \/>\n}<\/p>\n<p>class Warrior extends GameCharacter {<br \/>\n    protected void performAttack() {<br \/>\n        System.out.println(&#8220;Warrior performs sword attack!&#8221;);<br \/>\n    }<br \/>\n}<\/p>\n<p>    \u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/p>\n<p>    \u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/p>\n<div data-article-id=\"2139018\" id=\"article-body\">\n<p>\u0628\u0647 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc 3 \u0642\u0633\u0645\u062a\u06cc \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u06cc\u06a9 \u0645\u0642\u062f\u0645\u0647 \u0645\u0642\u062f\u0645\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f.<\/p>\n<p>\u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u062e\u0627\u0635\u060c \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0686\u06cc\u0633\u062a\u060c \u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646\u0647\u0627 \u0628\u062f\u0627\u0646\u06cc\u0645\u060c \u0627\u0646\u0648\u0627\u0639 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0648 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f.<\/p>\n<p><strong>\u0644\u06cc\u0646\u06a9 \u0647\u0627\u06cc \u0633\u0631\u06cc\u0639:<\/strong><\/p>\n<ol>\n<li>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u062e\u0644\u0627\u0642\u06cc\u062a<\/li>\n<li>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc<\/li>\n<li>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc<\/li>\n<\/ol>\n<p><strong>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0686\u06cc\u0633\u062a\u061f<\/strong><\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627\u06cc \u0627\u062b\u0628\u0627\u062a \u0634\u062f\u0647 \u0627\u06cc \u0628\u0631\u0627\u06cc \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u062f\u0631 \u062a\u0648\u0633\u0639\u0647 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0647\u0633\u062a\u0646\u062f. \u0622\u0646\u0647\u0627 \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u0646\u062f \u062a\u0627 \u0648\u0638\u0627\u06cc\u0641 \u067e\u06cc\u0686\u06cc\u062f\u0647 \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u062d\u0644 \u06a9\u0646\u0646\u062f \u0648 \u0628\u0647 \u0622\u0646\u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u0646\u062f \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627\u06cc \u0645\u0648\u0641\u0642 \u0631\u0627 \u0645\u062c\u062f\u062f\u0627\u064b \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u0646\u062f \u0648 \u062f\u0631\u06a9 \u0648 \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u06a9\u062f \u0622\u0646\u0647\u0627 \u0631\u0627 \u0622\u0633\u0627\u0646 \u062a\u0631 \u0645\u06cc \u06a9\u0646\u0646\u062f. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0631\u0627 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0637\u0631\u062d\u06cc \u0628\u0631\u0627\u06cc \u062d\u0644 \u0645\u0634\u06a9\u0644\u0627\u062a \u0645\u0639\u0645\u0648\u0644\u06cc \u06a9\u0647 \u0647\u0646\u06af\u0627\u0645 \u0633\u0627\u062e\u062a\u0646 \u0646\u0631\u0645 \u0627\u0641\u0632\u0627\u0631 \u0631\u062e \u0645\u06cc \u062f\u0647\u0646\u062f\u060c \u062f\u0631 \u0646\u0638\u0631 \u0628\u06af\u06cc\u0631\u06cc\u062f.<\/p>\n<p><strong>\u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631\u0628\u0627\u0631\u0647 \u0622\u0646\u0647\u0627 \u0628\u062f\u0627\u0646\u06cc\u0645\u061f<\/strong><\/p>\n<p>\u062f\u0627\u0646\u0633\u062a\u0646 \u062f\u0631 \u0645\u0648\u0631\u062f \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627\u06cc\u062c \u0631\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc\u0627\u0641\u062a\u0647 \u0648 \u06a9\u0627\u0631\u0622\u0645\u062f \u062d\u0644 \u06a9\u0646\u0646\u062f \u0648 \u06a9\u062f \u0631\u0627 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062c\u062f\u062f\u060c \u0646\u06af\u0647\u062f\u0627\u0631\u06cc \u0648 \u0645\u0642\u06cc\u0627\u0633 \u067e\u0630\u06cc\u0631\u062a\u0631 \u06a9\u0646\u062f.<\/p>\n<p>\u0628\u0647 \u0622\u0634\u067e\u0632\u062e\u0627\u0646\u0647 \u0631\u0633\u062a\u0648\u0631\u0627\u0646 \u0641\u06a9\u0631 \u06a9\u0646\u06cc\u062f. \u0633\u0631\u0622\u0634\u067e\u0632 \u0628\u0631\u0627\u06cc \u062a\u0647\u06cc\u0647 \u06cc\u06a9 \u063a\u0630\u0627 \u0627\u0632 \u062f\u0633\u062a\u0648\u0631 (\u0627\u0644\u06af\u0648\u06cc \u0637\u0631\u0627\u062d\u06cc) \u067e\u06cc\u0631\u0648\u06cc \u0645\u06cc \u06a9\u0646\u062f. \u0633\u0631\u0622\u0634\u067e\u0632 \u0628\u0647 \u062c\u0627\u06cc \u0627\u062e\u062a\u0631\u0627\u0639 \u0645\u062c\u062f\u062f \u0641\u0631\u0622\u06cc\u0646\u062f \u0647\u0631 \u0628\u0627\u0631\u060c \u0627\u0632 \u0645\u0631\u0627\u062d\u0644 \u0627\u062b\u0628\u0627\u062a \u0634\u062f\u0647 \u0628\u0631\u0627\u06cc \u0627\u0631\u0627\u0626\u0647 \u0645\u062f\u0627\u0648\u0645 \u063a\u0630\u0627\u06cc \u0628\u0627 \u06a9\u06cc\u0641\u06cc\u062a \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u06cc \u06a9\u0646\u062f. \u0628\u0647 \u0637\u0648\u0631 \u0645\u0634\u0627\u0628\u0647\u060c \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0647 \u062a\u0648\u0633\u0639\u0647 \u062f\u0647\u0646\u062f\u06af\u0627\u0646 \u06a9\u0645\u06a9 \u0645\u06cc \u06a9\u0646\u062f \u062a\u0627 \u0628\u0647 \u0637\u0648\u0631 \u0645\u0648\u062b\u0631 \u0645\u0634\u06a9\u0644\u0627\u062a \u0631\u0627 \u0628\u062f\u0648\u0646 \u0627\u062e\u062a\u0631\u0627\u0639 \u0645\u062c\u062f\u062f \u0631\u0627\u0647 \u062d\u0644 \u0647\u0627 \u0647\u0631 \u0628\u0627\u0631 \u062d\u0644 \u06a9\u0646\u0646\u062f.<\/p>\n<p><strong>\u0627\u0646\u0648\u0627\u0639 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc:<\/strong><\/p>\n<p>\u062f\u0631 \u062c\u0627\u0648\u0627 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0628\u0647 \u0633\u0647 \u06af\u0631\u0648\u0647 \u0627\u0635\u0644\u06cc \u062f\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u0645\u06cc \u0634\u0648\u0646\u062f:<\/p>\n<p><strong>1. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u062e\u0644\u0627\u0642\u06cc\u062a:<\/strong> \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0647 \u0627\u06cc\u062c\u0627\u062f \u0627\u0634\u06cc\u0627 \u0628\u0647 \u0631\u0648\u0634\u06cc \u0627\u0646\u0639\u0637\u0627\u0641\u200c\u067e\u0630\u06cc\u0631 \u0648 \u0642\u0627\u0628\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u0645\u062c\u062f\u062f \u06a9\u0645\u06a9 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f.<br \/><strong>2. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0633\u0627\u062e\u062a\u0627\u0631\u06cc:<\/strong> \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0631 \u0646\u062d\u0648\u0647 \u0686\u06cc\u062f\u0645\u0627\u0646 \u0648 \u0627\u062a\u0635\u0627\u0644 \u0627\u062c\u0633\u0627\u0645 \u0628\u0631\u0627\u06cc \u062a\u0634\u06a9\u06cc\u0644 \u0633\u06cc\u0633\u062a\u0645 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af\u062a\u0631 \u062a\u0645\u0631\u06a9\u0632 \u0645\u06cc \u06a9\u0646\u0646\u062f.<br \/><strong>3. \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc:<\/strong> \u0627\u06cc\u0646 \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0627 \u0646\u062d\u0648\u0647 \u062a\u0639\u0627\u0645\u0644 \u0648 \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0633\u0631\u0648\u06a9\u0627\u0631 \u062f\u0627\u0631\u0646\u062f.<\/p>\n<p><strong>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc<\/strong><\/p>\n<p>\u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc \u0628\u0647 \u0646\u062d\u0648\u0647 \u062a\u0639\u0627\u0645\u0644 \u0648 \u0627\u0631\u062a\u0628\u0627\u0637 \u0627\u0634\u06cc\u0627\u0621 \u0628\u0627 \u06cc\u06a9\u062f\u06cc\u06af\u0631 \u0645\u0631\u0628\u0648\u0637 \u0645\u06cc \u0634\u0648\u062f.<\/p>\n<p><strong>\u0632\u0646\u062c\u06cc\u0631\u0647 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a:<\/strong><\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u067e\u0631\u062f\u0627\u0632\u0634 \u0633\u0641\u0627\u0631\u0634\u060c \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0633\u0637\u0648\u062d \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u062a\u0627\u06cc\u06cc\u062f \u0628\u0631\u0627\u06cc \u0633\u0641\u0627\u0631\u0634\u0627\u062a \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u0633\u0641\u0627\u0631\u0634 \u0647\u0627\u06cc \u06a9\u0648\u0686\u06a9 \u0628\u0647 \u06cc\u06a9 \u06a9\u0627\u0631\u0645\u0646\u062f\u060c \u0633\u0641\u0627\u0631\u0634 \u0647\u0627\u06cc \u0628\u0632\u0631\u06af \u0628\u0647 \u06cc\u06a9 \u0645\u062f\u06cc\u0631). \u0627\u0644\u06af\u0648\u06cc \u0632\u0646\u062c\u06cc\u0631\u0647 \u0645\u0633\u0626\u0648\u0644\u06cc\u062a \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u062f\u0631\u062e\u0648\u0627\u0633\u062a \u0631\u0627 \u062f\u0631 \u0627\u0645\u062a\u062f\u0627\u062f \u0632\u0646\u062c\u06cc\u0631\u0647 \u0627\u06cc \u0627\u0632 \u06a9\u0646\u062a\u0631\u0644 \u06a9\u0646\u0646\u062f\u0647 \u0647\u0627 \u0627\u0631\u0633\u0627\u0644 \u06a9\u0646\u06cc\u062f \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u06cc\u06a9\u06cc \u0622\u0646 \u0631\u0627 \u0631\u0633\u06cc\u062f\u06af\u06cc \u06a9\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>abstract class OrderHandler {\n    protected OrderHandler nextHandler;\n\n    public void setNextHandler(OrderHandler handler) {\n        this.nextHandler = handler;\n    }\n\n    public abstract void handleOrder(int amount);\n}\n\nclass ClerkHandler extends OrderHandler {\n    public void handleOrder(int amount) {\n        if (amount &lt; 500) {\n            System.out.println(\"Clerk handling order\");\n        } else if (nextHandler != null) {\n            nextHandler.handleOrder(amount);\n        }\n    }\n}\n\nclass ManagerHandler extends OrderHandler {\n    public void handleOrder(int amount) {\n        if (amount &gt;= 500) {\n            System.out.println(\"Manager handling order\");\n        } else if (nextHandler != null) {\n            nextHandler.handleOrder(amount);\n        }\n    }\n}\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0641\u0631\u0645\u0627\u0646:<\/strong><\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u0645\u062a\u0646\u060c \u0627\u0644\u06af\u0648\u06cc \u0641\u0631\u0645\u0627\u0646 \u0631\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646 \u0628\u0631\u0627\u06cc \u062a\u0639\u0631\u06cc\u0641 \u0627\u0642\u062f\u0627\u0645\u0627\u062a\u06cc \u0645\u0627\u0646\u0646\u062f \u06a9\u067e\u06cc\u060c \u0686\u0633\u0628\u0627\u0646\u062f\u0646 \u0648 \u0648\u0627\u06af\u0631\u062f \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0631\u062f\u060c \u0628\u0647 \u0637\u0648\u0631\u06cc \u06a9\u0647 \u0647\u0631 \u0639\u0645\u0644 \u0645\u06cc \u062a\u0648\u0627\u0646\u062f \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u06cc\u06a9 \u0634\u06cc \u06a9\u067e\u0633\u0648\u0644\u0647 \u0634\u0648\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>interface Command {\n    void execute();\n}\n\nclass CopyCommand implements Command {\n    private TextEditor editor;\n\n    public CopyCommand(TextEditor editor) {\n        this.editor = editor;\n    }\n\n    public void execute() {\n        editor.copyText();\n    }\n}\n\nclass TextEditor {\n    public void copyText() {\n        System.out.println(\"Text copied\");\n    }\n}\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0646\u0627\u0638\u0631:<\/strong><\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0633\u06cc\u0633\u062a\u0645 \u067e\u0627\u06cc\u0634 \u0622\u0628 \u0648 \u0647\u0648\u0627\u060c \u0686\u0646\u062f\u06cc\u0646 \u062f\u0633\u062a\u06af\u0627\u0647 (\u0645\u0627\u0646\u0646\u062f \u0628\u0631\u0646\u0627\u0645\u0647 \u0647\u0627\u06cc \u062a\u0644\u0641\u0646 \u0647\u0645\u0631\u0627\u0647\u060c \u0627\u06cc\u0633\u062a\u06af\u0627\u0647 \u0647\u0627\u06cc \u0647\u0648\u0627\u0634\u0646\u0627\u0633\u06cc) \u0628\u0627\u06cc\u062f \u0647\u0631 \u0632\u0645\u0627\u0646 \u06a9\u0647 \u0634\u0631\u0627\u06cc\u0637 \u0622\u0628 \u0648 \u0647\u0648\u0627\u06cc\u06cc \u062a\u063a\u06cc\u06cc\u0631 \u0645\u06cc \u06a9\u0646\u062f\u060c \u0628\u0647 \u0631\u0648\u0632 \u0634\u0648\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>interface Observer {\n    void update(String weather);\n}\n\nclass WeatherStation {\n    private List<observer> observers = new ArrayList&lt;&gt;();\n\n    public void addObserver(Observer observer) {\n        observers.add(observer);\n    }\n\n    public void notifyObservers(String weather) {\n        for (Observer observer : observers) {\n            observer.update(weather);\n        }\n    }\n}\n\nclass WeatherApp implements Observer {\n    public void update(String weather) {\n        System.out.println(\"Weather update: \" + weather);\n    }\n}\n<\/observer><\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc:<\/strong><\/p>\n<p>\u0634\u0645\u0627 \u0645\u06cc \u062a\u0648\u0627\u0646\u06cc\u062f \u0627\u0632 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627\u06cc \u0645\u062e\u062a\u0644\u0641\u06cc \u0628\u0631\u0627\u06cc \u0645\u062d\u0627\u0633\u0628\u0647 \u0647\u0632\u06cc\u0646\u0647 \u0647\u0627\u06cc \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f (\u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062b\u0627\u0644\u060c \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0645\u0639\u0645\u0648\u0644\u06cc\u060c \u062d\u0645\u0644 \u0648 \u0646\u0642\u0644 \u0633\u0631\u06cc\u0639). \u0627\u0644\u06af\u0648\u06cc \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u0628\u06cc\u0646 \u0627\u06cc\u0646 \u0627\u0633\u062a\u0631\u0627\u062a\u0698\u06cc \u0647\u0627 \u0628\u0647 \u0635\u0648\u0631\u062a \u067e\u0648\u06cc\u0627 \u062c\u0627\u0628\u062c\u0627 \u0634\u0648\u06cc\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>interface ShippingStrategy {\n    double calculateShippingCost(double weight);\n}\n\nclass RegularShipping implements ShippingStrategy {\n    public double calculateShippingCost(double weight) {\n        return weight * 2;\n    }\n}\n\nclass ExpeditedShipping implements ShippingStrategy {\n    public double calculateShippingCost(double weight) {\n        return weight * 5;\n    }\n}\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><strong>\u0631\u0648\u0634 \u0642\u0627\u0644\u0628:<\/strong><\/p>\n<p>\u062f\u0631 \u06cc\u06a9 \u0628\u0627\u0632\u06cc\u060c \u0634\u0645\u0627 \u0645\u0645\u06a9\u0646 \u0627\u0633\u062a \u0627\u0646\u0648\u0627\u0639 \u0645\u062e\u062a\u0644\u0641\u06cc \u0627\u0632 \u0634\u062e\u0635\u06cc\u062a\u200c\u0647\u0627 \u062f\u0627\u0634\u062a\u0647 \u0628\u0627\u0634\u06cc\u062f \u06a9\u0647 \u0645\u062c\u0645\u0648\u0639\u0647\u200c\u0627\u06cc \u0627\u0632 \u0645\u0631\u0627\u062d\u0644 \u0645\u0634\u0627\u0628\u0647 \u0631\u0627 \u0628\u0631\u0627\u06cc \u062d\u0645\u0644\u0647 \u062f\u0646\u0628\u0627\u0644 \u0645\u06cc\u200c\u06a9\u0646\u0646\u062f\u060c \u0627\u0645\u0627 \u062c\u0632\u0626\u06cc\u0627\u062a \u062e\u0627\u0635 \u0645\u062a\u0641\u0627\u0648\u062a \u0627\u0633\u062a. \u0645\u062a\u062f \u0627\u0644\u06af\u0648 \u0628\u0647 \u0634\u0645\u0627 \u0627\u0645\u06a9\u0627\u0646 \u0645\u06cc \u062f\u0647\u062f \u06cc\u06a9 \u0627\u0644\u06af\u0648\u0631\u06cc\u062a\u0645 \u06a9\u0644\u06cc \u062a\u0639\u0631\u06cc\u0641 \u06a9\u0646\u06cc\u062f \u062f\u0631 \u062d\u0627\u0644\u06cc \u06a9\u0647 \u0628\u0647 \u0632\u06cc\u0631 \u06a9\u0644\u0627\u0633 \u0647\u0627 \u0627\u062c\u0627\u0632\u0647 \u0645\u06cc \u062f\u0647\u062f \u0645\u0631\u0627\u062d\u0644 \u062e\u0627\u0635\u06cc \u0631\u0627 \u0644\u063a\u0648 \u06a9\u0646\u0646\u062f.<\/p>\n<div class=\"highlight js-code-highlight\">\n<pre class=\"highlight plaintext\"><code>abstract class GameCharacter {\n    public void attack() {\n        moveToTarget();\n        performAttack();\n        celebrate();\n    }\n\n    protected void moveToTarget() {\n        System.out.println(\"Moving to target...\");\n    }\n\n    protected abstract void performAttack();\n\n    protected void celebrate() {\n        System.out.println(\"Celebrating after attack...\");\n    }\n}\n\nclass Warrior extends GameCharacter {\n    protected void performAttack() {\n        System.out.println(\"Warrior performs sword attack!\");\n    }\n}\n\n<\/code><\/pre>\n<div class=\"highlight__panel js-actions-panel\">\n<div class=\"highlight__panel-action js-fullscreen-code-action\">\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-on\"><title>\u0648\u0627\u0631\u062f \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M16 3h6v6h-2V5h-4V3zM2 3h6v2H4v4H2V3zm18 16v-4h2v6h-6v-2h4zM4 19h4v2H2v-6h2v4z\"\/>\n<\/svg><\/p>\n<p>    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" class=\"highlight-action crayons-icon highlight-action--fullscreen-off\"><title>\u0627\u0632 \u062d\u0627\u0644\u062a \u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647 \u062e\u0627\u0631\u062c \u0634\u0648\u06cc\u062f<\/title>\n    <path d=\"M18 7h4v2h-6V3h2v4zM8 9H2V7h4V3h2v6zm10 8v4h-2v-6h6v2h-4zM8 15v6H6v-4H2v-2h6z\"\/>\n<\/svg><\/p>\n<\/div>\n<\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Summarize this content to 400 words in Persian Lang \u0628\u0647 \u0627\u06cc\u0646 \u0631\u0627\u0647\u0646\u0645\u0627\u06cc 3 \u0642\u0633\u0645\u062a\u06cc \u062e\u0648\u0634 \u0622\u0645\u062f\u06cc\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u06cc\u06a9 \u0645\u0642\u062f\u0645\u0647 \u0645\u0642\u062f\u0645\u0627\u062a\u06cc \u0628\u0631\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0627\u0644\u06af\u0648\u0647\u0627 \u0628\u0647 \u0647\u0645\u0631\u0627\u0647 \u0645\u062b\u0627\u0644 \u0627\u0631\u0627\u0626\u0647 \u062e\u0648\u0627\u0647\u0645 \u06a9\u0631\u062f. \u062f\u0631 \u0627\u06cc\u0646 \u067e\u0633\u062a \u062e\u0627\u0635\u060c \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0686\u06cc\u0633\u062a\u060c \u0686\u0631\u0627 \u0628\u0627\u06cc\u062f \u062f\u0631 \u0645\u0648\u0631\u062f \u0622\u0646\u0647\u0627 \u0628\u062f\u0627\u0646\u06cc\u0645\u060c \u0627\u0646\u0648\u0627\u0639 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0637\u0631\u0627\u062d\u06cc \u0648 \u0627\u0644\u06af\u0648\u0647\u0627\u06cc \u0631\u0641\u062a\u0627\u0631\u06cc \u0631\u0627 \u067e\u0648\u0634\u0634 \u062e\u0648\u0627\u0647\u06cc\u0645 \u062f\u0627\u062f. \u0644\u06cc\u0646\u06a9 &hellip;<\/p>\n","protected":false},"author":2,"featured_media":86946,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[339],"tags":[],"class_list":["post-86945","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev"],"_links":{"self":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/86945","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/comments?post=86945"}],"version-history":[{"count":0,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/posts\/86945\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media\/86946"}],"wp:attachment":[{"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/media?parent=86945"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/categories?post=86945"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nabfollower.com\/blog\/wp-json\/wp\/v2\/tags?post=86945"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}