|
8 | 8 | "id": "abstract-factory",
|
9 | 9 | "title": "Abstract Factory",
|
10 | 10 | "description": "Provide an interface for creating families of related or dependent objects without specifying their concrete classes.",
|
11 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-11-abstract-factory" |
| 11 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-11-abstract-factory" |
12 | 12 | },
|
13 | 13 | {
|
14 | 14 | "id": "builder",
|
15 | 15 | "title": "Builder",
|
16 | 16 | "description": "Separate the construction of a complex object from its representation so that the same construction process can create different representations.",
|
17 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-18-builder" |
| 17 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-18-builder" |
18 | 18 | },
|
19 | 19 | {
|
20 | 20 | "id": "factory-method",
|
21 | 21 | "title": "Factory Method",
|
22 | 22 | "description": "Define an interface for creating an object, but let subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses.",
|
23 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-10-factory-method" |
| 23 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-10-factory-method" |
24 | 24 | },
|
25 | 25 | {
|
26 | 26 | "id": "prototype",
|
27 | 27 | "title": "Prototype",
|
28 | 28 | "description": "Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.",
|
29 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-14-prototype" |
| 29 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-14-prototype" |
30 | 30 | },
|
31 | 31 | {
|
32 | 32 | "id": "singleton",
|
33 | 33 | "title": "Singleton",
|
34 | 34 | "description": "Ensure a class only has one instance, and provide a global point of access to it.",
|
35 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-1-singleton" |
| 35 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-1-singleton" |
36 | 36 | }
|
37 | 37 | ]
|
38 | 38 | },
|
|
45 | 45 | "id": "adapter",
|
46 | 46 | "title": "Adapter",
|
47 | 47 | "description": "Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces.",
|
48 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-2-adapter" |
| 48 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-2-adapter" |
49 | 49 | },
|
50 | 50 | {
|
51 | 51 | "id": "bridge",
|
52 | 52 | "title": "Bridge",
|
53 | 53 | "description": "Decouple an abstraction from its implementation so that the two can vary independently.",
|
54 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-17-bridge" |
| 54 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-17-bridge" |
55 | 55 | },
|
56 | 56 | {
|
57 | 57 | "id": "composite",
|
58 | 58 | "title": "Composite",
|
59 | 59 | "description": "Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly.",
|
60 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-4-composite" |
| 60 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-4-composite" |
61 | 61 | },
|
62 | 62 | {
|
63 | 63 | "id": "decorator",
|
64 | 64 | "title": "Decorator",
|
65 | 65 | "description": "Attach additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality.",
|
66 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-16-decorator" |
| 66 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-16-decorator" |
67 | 67 | },
|
68 | 68 | {
|
69 | 69 | "id": "facade",
|
70 | 70 | "title": "Facade",
|
71 | 71 | "description": "Provide an unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the subsystem easier to use.",
|
72 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-7-facade" |
| 72 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-7-facade" |
73 | 73 | },
|
74 | 74 | {
|
75 | 75 | "id": "flyweight",
|
76 | 76 | "title": "Flyweight",
|
77 | 77 | "description": "Use sharing to support large numbers of fine-grained objects efficiently.",
|
78 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-19-flyweight" |
| 78 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-19-flyweight" |
79 | 79 | },
|
80 | 80 | {
|
81 | 81 | "id": "proxy",
|
82 | 82 | "title": "Proxy",
|
83 | 83 | "description": "Provide a surrogate or placeholder for another object to control access to it.",
|
84 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-15-proxy" |
| 84 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-15-proxy" |
85 | 85 | }
|
86 | 86 | ]
|
87 | 87 | },
|
|
94 | 94 | "id": "chain-of-responsibility",
|
95 | 95 | "title": "Chain of Responsibility",
|
96 | 96 | "description": "Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it.",
|
97 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-20-chain-of-responsibility" |
| 97 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-20-chain-of-responsibility" |
98 | 98 | },
|
99 | 99 | {
|
100 | 100 | "id": "command",
|
101 | 101 | "title": "Command",
|
102 | 102 | "description": "Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.",
|
103 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-12-command" |
| 103 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-12-command" |
104 | 104 | },
|
105 | 105 | {
|
106 | 106 | "id": "interpreter",
|
107 | 107 | "title": "Interpreter",
|
108 | 108 | "description": "Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.",
|
109 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-8-interpreter" |
| 109 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-8-interpreter" |
110 | 110 | },
|
111 | 111 | {
|
112 | 112 | "id": "iterator",
|
113 | 113 | "title": "Iterator",
|
114 | 114 | "description": "Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.",
|
115 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-9-iterator" |
| 115 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-9-iterator" |
116 | 116 | },
|
117 | 117 | {
|
118 | 118 | "id": "mediator",
|
119 | 119 | "title": "Mediator",
|
120 | 120 | "description": "Define an object that encapsulates how a set of objects interact. Mediator promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently.",
|
121 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-22-mediator" |
| 121 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-22-mediator" |
122 | 122 | },
|
123 | 123 | {
|
124 | 124 | "id": "memento",
|
125 | 125 | "title": "Memento",
|
126 | 126 | "description": "Without violating encapsulation, capture and externalize an object's internal state so that the object can be restored to this state later.",
|
127 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-13-memento" |
| 127 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-13-memento" |
128 | 128 | },
|
129 | 129 | {
|
130 | 130 | "id": "observer",
|
131 | 131 | "title": "Observer",
|
132 | 132 | "description": "Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.",
|
133 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-23-observer" |
| 133 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-23-observer" |
134 | 134 | },
|
135 | 135 | {
|
136 | 136 | "id": "state",
|
137 | 137 | "title": "State",
|
138 | 138 | "description": "Allow an object to alter its behavior when its internal state changes. The object will appear to change its class.",
|
139 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-6-state" |
| 139 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-6-state" |
140 | 140 | },
|
141 | 141 | {
|
142 | 142 | "id": "strategy",
|
143 | 143 | "title": "Strategy",
|
144 | 144 | "description": "Define a family of algorithms, encapsulate each one, and make them interchangeable. Strategy lets the algorithm vary independently from clients that use it.",
|
145 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-5-strategy" |
| 145 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-5-strategy" |
146 | 146 | },
|
147 | 147 | {
|
148 | 148 | "id": "template-method",
|
149 | 149 | "title": "Template Method",
|
150 | 150 | "description": "Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.",
|
151 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-3-template-method" |
| 151 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-3-template-method" |
152 | 152 | },
|
153 | 153 | {
|
154 | 154 | "id": "visitor",
|
155 | 155 | "title": "Visitor",
|
156 | 156 | "description": "Represent an operation to be performed on the elements of an object structure. Visitor lets you define a new operation without changing the classes of the elements on which it operates.",
|
157 |
| - "articleUrl": "https://kazlauskas.dev/flutter-design-patterns-21-visitor" |
| 157 | + "articleUrl": "https://kazlauskas.dev/blog/flutter-design-patterns-21-visitor" |
158 | 158 | }
|
159 | 159 | ]
|
160 | 160 | }
|
|
0 commit comments