Читать «Рефакторинг с использованием шаблонов» онлайн - страница 214

Джошуа Кериевски

Extract Method 47,50,70

Extract Parameter 387

Extract Subclass 74,86

F

Facade 297

Factory 61,97

Factory Method 61.83

Foote, Brian 34

Form Template Method 60,62,68,69,237, 239

Fowler, Martin 20,24,27,28,50,67,159,241, 336

Franklin, Benjamin 41

G

Gamma, Erich 5,27,29,54,63,272,342,353

Goodwin, Phil 7

Gorts, Sven 6,28

H

Helm, Richard 27

Hirshfeld, Robert 29

I

Indecent Exposure 68, 72

Inline Singleton 60,62,69, 74,143

Interpreter 61, 74,308

Introduce Null Object 61,68,70,71,340,342

Introduce Parameter Object 161

Introduce Polymorphic Creation with Factory Method 61,68,69,116

Iterator 60,61

J

Jefferson, Thomas 41

Jeffries, Ron 30

Johnson, Ralph 18,27,50,341,360

L

Large Class 69, 74

Larman, Craig 7

Lazy Class 69,74

Limit Instantiation with Singleton 62,335

Lomov, Dmitry 29

Long Method 68, 70

Lopez, Chris 28

M

Move Accumulation to Collecting Parameter 61,68, 71,352

Move Accumulation to Visitor 60,61,62,68, 69,71,75,359

Move Creation Knowledge to Factory 61,69, 73,96

Move Embellishment to Decorator 49,60,61, 68, 71,72,174

Move Method 47

N

Null Object 61,341

О

Observer 61, 271

Oddball Solution 69,75

Opdyke, William 27,50

P

Parameterized Creation Methods 94

Parnas, David 72

Primitive Obsession 68,71

Protection Proxy 176

Proxy 114

Pull Up Method 47,50

R

Raha, Somik 28,80

Registry 145

Rename Method 242

Replace Conditional Dispatcher with

Command 60,61,68,69, 71,74,224

Replace Conditional Logic with Strategy 62, 68,71,72,158

Replace Conditional with Polymorphism 60, 159,162

Replace Constructors with Creation Methods 61,84

Replace Hard-Coded Notifications with

Observer 61,237,271

Replace Implicit Language with Interpreter

61,68,69, 72,74,75,238,307

Replace Implicit Tree with Composite 48,61, 68, 72,210

Replace Inheritance with Delegation 60,193

Replace One/Many Distinctions with

Composite 61,68,69,258

Replace State-Altering Conditionals with State

62,68,71,72,74,197

Replace Type Code with Class 68, 72,324