<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=DesignPatternSmalltalkCompanion%3A1.4</id>
	<title>DesignPatternSmalltalkCompanion:1.4 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://trans.onionmixer.net/wiki/index.php?action=history&amp;feed=atom&amp;title=DesignPatternSmalltalkCompanion%3A1.4"/>
	<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;action=history"/>
	<updated>2026-05-01T18:57:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=5584&amp;oldid=prev</id>
		<title>Onionmixer: 단어수정</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=5584&amp;oldid=prev"/>
		<updated>2018-07-24T08:26:27Z</updated>

		<summary type="html">&lt;p&gt;단어수정&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:26, 24 July 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l11&quot;&gt;Line 11:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 11:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;의도&amp;lt;sup&amp;gt;intent&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 단락에서는 가끔씩 다른 말로 변경한 부분이 있지만, [디자인 패턴] 본문을 그대로 발췌하였다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;의도&amp;lt;sup&amp;gt;intent&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 단락에서는 가끔씩 다른 말로 변경한 부분이 있지만, [디자인 패턴] 본문을 그대로 발췌하였다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 패턴의 &amp;#039;&amp;#039;&amp;#039;구조&amp;lt;sup&amp;gt;Structure&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 다이어그램. 대부분 &amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039; 다이어그램과는 다르다. 더 명확한 설명을 위해 많은 구조 다이어그램을 수정했으며, Class 객체 등 Smalltalk 에 요구되는 객체를 포함하거나, C++ 의 구현과 패턴에 대한  Smalltalk 버전을 반영하고자 하였다. 구조적으로는 동일할지 몰라도 C++ 가 아닌 Smalltalk 구문과 의미론을 반영한다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 패턴의 &amp;#039;&amp;#039;&amp;#039;구조&amp;lt;sup&amp;gt;Structure&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 다이어그램. 대부분 &amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039; 다이어그램과는 다르다. 더 명확한 설명을 위해 많은 구조 다이어그램을 수정했으며, Class 객체 등 Smalltalk 에 요구되는 객체를 포함하거나, C++ 의 구현과 패턴에 대한  Smalltalk 버전을 반영하고자 하였다. 구조적으로는 동일할지 몰라도 C++ 가 아닌 Smalltalk 구문과 의미론을 반영한다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;논의&amp;lt;sup&amp;gt;Discussion&amp;lt;/sup&amp;gt;&#039;&#039;&#039; 부분에서는 패턴의 동기, Smalltalk 버전과 C++ &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;렌더링의 &lt;/del&gt;차이, 패턴의 장단점, 패턴을 적용하려 할때 고민해야할 일반적인 사항들과 같은 주제들을 다룬다. 이 부분은 크리스토퍼 알렉산더의 패턴처럼 일반적인 설명으로 구성된다 (Alexander et al., 1977).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &#039;&#039;&#039;논의&amp;lt;sup&amp;gt;Discussion&amp;lt;/sup&amp;gt;&#039;&#039;&#039; 부분에서는 패턴의 동기, Smalltalk 버전과 C++ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;해석의 &lt;/ins&gt;차이, 패턴의 장단점, 패턴을 적용하려 할때 고민해야할 일반적인 사항들과 같은 주제들을 다룬다. 이 부분은 크리스토퍼 알렉산더의 패턴처럼 일반적인 설명으로 구성된다 (Alexander et al., 1977).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;협력&amp;lt;sup&amp;gt;Collaborations&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 및 &amp;#039;&amp;#039;&amp;#039;활용성&amp;lt;sup&amp;gt;Applicability&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 단락은 선택적이며, 때로는 논의 부분에서 다뤄지기도 한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;협력&amp;lt;sup&amp;gt;Collaborations&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 및 &amp;#039;&amp;#039;&amp;#039;활용성&amp;lt;sup&amp;gt;Applicability&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039; 단락은 선택적이며, 때로는 논의 부분에서 다뤄지기도 한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;구현&amp;lt;sup&amp;gt;Implementation&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039;, Smalltalk 또는 일반적으로 패턴을 구현할때에 대한 관련 주제들을 다룬다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;#039;&amp;#039;&amp;#039;구현&amp;lt;sup&amp;gt;Implementation&amp;lt;/sup&amp;gt;&amp;#039;&amp;#039;&amp;#039;, Smalltalk 또는 일반적으로 패턴을 구현할때에 대한 관련 주제들을 다룬다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=5583&amp;oldid=prev</id>
		<title>Onionmixer: 검수 20180724</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=5583&amp;oldid=prev"/>
		<updated>2018-07-24T08:24:02Z</updated>

		<summary type="html">&lt;p&gt;검수 20180724&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 08:24, 24 July 2018&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===1.4 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;우리의 패턴 &lt;/del&gt;논의===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===1.4 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴에 대한 &lt;/ins&gt;논의===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GoF와 우리가 논하는 &lt;/del&gt;패턴들은 특정 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;추상 수준을 possess한다&lt;/del&gt;. 일반적으로 패턴은 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;객체지향 애플리케이션에서 서로 다른 입자도(granularity)와 &lt;/del&gt;추상화 수준에서 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;발생하며, 그 범위는 마이크로부터 매크로까지이다&lt;/del&gt;. 메서드의 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;변수를 어떻게 명칭을 할 것인지&lt;/del&gt;, 지연 초기화를 어떻게 구현할 것인지, 코드를 어떻게 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;포맷할 것인지와 &lt;/del&gt;저수준 문제들에 대한 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;규약은 &lt;/del&gt;마이크로패턴으로 간주한다 (Kent Beck의 &#039;&#039;Smalltalk Best Practice Pattern [1997b]&#039;&#039;에 나오는 패턴의 다수는 이 범주에 속한다). 그 반대로 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;VisualWorks의 &lt;/del&gt;대화형 애플리케이션에 매우 중요한 아키텍처인 Model-View-Controller 프레임워크는 매크로패턴에 속한다. Buschmann et al.(1996)은 전체적으로 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴을 &lt;/del&gt;&#039;&#039;용어&#039;&#039;부터 &#039;&#039;디자인 패턴&#039;&#039;까지, 그리고 &#039;&#039;아키텍처 패턴&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;까지의 범위를 가진다고 &lt;/del&gt;주장한다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;우리 &lt;/del&gt;디자인 패턴들은 핵심 분야에 중점을 둔다. 이 패턴들은 잘 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;고안되고 &lt;/del&gt;프로그램화된 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;애플리케이션들의 일부에 &lt;/del&gt;유용한 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;마이크로아키텍처의 &lt;/del&gt;구조와 구현을 설명한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;GoF 와 여기서 논의하는 &lt;/ins&gt;패턴들은 특정 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;수준의 추상화를 가지고 있다&lt;/ins&gt;. 일반적으로 패턴은 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;마이크로에서 매크로에 이르는 넓은 범위의 객체 지향 응용 프로그램에서 다양한 수준의 세분성 및 &lt;/ins&gt;추상화 수준에서 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;발생할 수 있다&lt;/ins&gt;. 메서드의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;변수에 어떤 이름을 붙일것 인지&lt;/ins&gt;, 지연 초기화를 어떻게 구현할 것인지, 코드를 어떻게 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;형식화 시킬것인지와 &lt;/ins&gt;저수준 문제들에 대한 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;규약등은 &lt;/ins&gt;마이크로패턴으로 간주한다(Kent Beck의 &#039;&#039;Smalltalk Best Practice Pattern [1997b]&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;ref name=&quot;역자주1&quot;&amp;gt;http://trans.onionmixer.net/mediawiki/index.php?title=SmalltalkBestPracticePatterns&amp;lt;/ref&amp;gt;&lt;/ins&gt;에 나오는 패턴의 다수는 이 범주에 속한다). 그 반대로 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;VisualWorks 의 &lt;/ins&gt;대화형 애플리케이션에 매우 중요한 아키텍처인 Model-View-Controller 프레임워크는 매크로패턴에 속한다. Buschmann et al.(1996)은 전체적으로 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴은 &lt;/ins&gt;&#039;&#039;용어&#039;&#039; 부터 &#039;&#039;디자인 패턴&#039;&#039;까지, 그리고 &#039;&#039;아키텍처 패턴&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;까지 다양하다고 &lt;/ins&gt;주장한다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;여기서의 &lt;/ins&gt;디자인 패턴들은 핵심 분야에 중점을 둔다. 이 패턴들은 잘 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;설계되고 &lt;/ins&gt;프로그램화된 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;애플리케이션들에게 &lt;/ins&gt;유용한 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;마이크로 아키텍처의 &lt;/ins&gt;구조와 구현을 설명한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;디자인 패턴&#039;&#039;&#039;에서와 마찬가지로 이 책은 생성 패턴, 구조 패턴, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;행위 &lt;/del&gt;패턴의 세 장으로 구성된다. 생성 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴에는 &lt;/del&gt;객체의 생성 과정을 다룬다. 구조 패턴의 경우, 구조의 컴포넌트 기능성을 효율적으로 향상시키기 위해 객체를 좀 더 복잡한 구조로 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;구성시킨다&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;행위 패턴은 &lt;/del&gt;시스템의 기능적 행위, 객체가 목표를 달성하기 위한 의사소통, 협력, 책임의 분산 방법을 다룬다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&#039;&#039;&#039;디자인 패턴&#039;&#039;&#039; 에서와 마찬가지로 이 책은 생성 패턴, 구조 패턴, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;행동 &lt;/ins&gt;패턴의 세 장으로 구성된다. 생성 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴에서는 &lt;/ins&gt;객체의 생성 과정을 다룬다. 구조 패턴의 경우, 구조의 컴포넌트 기능성을 효율적으로 향상시키기 위해 객체를 좀 더 복잡한 구조로 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;구성하게 한다&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;행동 패턴에서는 &lt;/ins&gt;시스템의 기능적 행위, 객체가 목표를 달성하기 위한 의사소통, 협력, 책임의 분산 방법을 다룬다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;다음으로는 패턴의 &#039;&#039;범위&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(scope)&lt;/del&gt;에 따라 패턴 이름을 제목으로 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;분류하여 &lt;/del&gt;각 패턴을 주로 클래스에 적용하는지 아니면 인스턴스에 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;적용하는지를 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;상세히 &lt;/del&gt;다룬다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;클래스 &lt;/del&gt;패턴은 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;종속을 &lt;/del&gt;통해 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;구축된 &lt;/del&gt;클래스 간의 정적 관계에 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;초점을 &lt;/del&gt;둔다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;객체 &lt;/del&gt;패턴은 인스턴스들 간 동적 런타임 관계를 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;수반한다&lt;/del&gt;. 예를 들어, Template Method 패턴은 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;그 구현이 종속과 메서드의 오버라이딩을 &lt;/del&gt;통해 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;시행되기 때문에 &lt;/del&gt;클래스 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;행위에 &lt;/del&gt;분류된다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;슈퍼클래스는 &lt;/del&gt;하나 또는 그 이상의 이차 메서드를 호출하는 넓은 범위의 메서드를 정의하며, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;서브클래스는 &lt;/del&gt;그에 종속된 메서드 일부 또는 전부를 오버라이드할 수 있다; 따라서 패턴의 컴포넌트는 모두 정적이며, 클래스를 기반으로 한다. Strategy 패턴은 객체 행위로 분류되는데, 그 이유는 Strategy 클래스의 정의에 종속을 포함하고 있음에도 불구하고 객체 간 상호작용이 패턴의 주요 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;특성에 &lt;/del&gt;포함되기 때문이다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;다음으로는 패턴의 &#039;&#039;범위&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;scope&amp;lt;/sup&amp;gt;&lt;/ins&gt;&#039;&#039;에 따라 패턴 이름을 제목으로 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;분류해서, &lt;/ins&gt;각 패턴을 주로 클래스에 적용하는지&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;아니면 인스턴스에 적용하는지를 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;상세하게 &lt;/ins&gt;다룬다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Class &lt;/ins&gt;패턴은 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;상속을 &lt;/ins&gt;통해 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;설정된 &lt;/ins&gt;클래스 간의 정적 관계에 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;중점을 &lt;/ins&gt;둔다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Object &lt;/ins&gt;패턴은 인스턴스들 간 동적 런타임 관계를 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;포함한다&lt;/ins&gt;. 예를 들어, Template Method 패턴은 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;상속과 메서드 재정의를 &lt;/ins&gt;통해 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;구현되므로 &lt;/ins&gt;클래스 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;동작으로 &lt;/ins&gt;분류된다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;상위클래스는 &lt;/ins&gt;하나 또는 그 이상의 이차 메서드를 호출하는 넓은 범위의 메서드를 정의하며, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;하위클래스는 &lt;/ins&gt;그에 종속된 메서드 일부 또는 전부를 오버라이드할 수 있다; 따라서 패턴의 컴포넌트는 모두 정적이며, 클래스를 기반으로 한다. Strategy 패턴은 객체 행위로 분류되는데, 그 이유는 Strategy 클래스의 정의에 종속을 포함하고 있음에도 불구하고 객체 간 상호작용이 패턴의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&lt;/ins&gt;주요&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039; 특성으로 &lt;/ins&gt;포함되기 때문이다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;전체적 구조는 &lt;/del&gt;동일하지만 이 책의 내용과 GoF 패턴의 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;양식이 &lt;/del&gt;완전히 중복되는 것은 아니다. 그렇다고 완전히 새로운 패턴을 작성하는 것도 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;아니다; GoF가 &lt;/del&gt;이미 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;쓴 &lt;/del&gt;패턴들이다. 대신 이러한 패턴들에 대한 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;버전을 제시하는 것이 목적이다. 따라서 GoF 패턴에 사용된 모든 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;하위단락을 필요로 하진 않는다&lt;/del&gt;. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;우리 &lt;/del&gt;패턴은 다음과 같이 변하기 쉬운 내용을 싣고 있다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;전체적인 구성은 &lt;/ins&gt;동일하지만 이 책의 내용과 GoF 패턴의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;형식이 &lt;/ins&gt;완전히 중복되는 것은 아니다. 그렇다고 완전히 새로운 패턴을 작성하는 것도 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;아니며, GoF 가 &lt;/ins&gt;이미 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;사용한 &lt;/ins&gt;패턴들이다. 대신 이러한 패턴들에 대한 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;버전을 제시하는 것이 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;우리의 &lt;/ins&gt;목적이다. 따라서 GoF 패턴에 사용된 모든 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;하위단락이 필요한 것은 아니다&lt;/ins&gt;. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;이 책의 &lt;/ins&gt;패턴은 다음과 같이 변하기 쉬운 내용을 싣고 있다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;간단한 &lt;/del&gt;의도 단락에서는 가끔씩 다른 말로 변경한 부분이 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;있긴 하나 &lt;/del&gt;[디자인 패턴] 본문을 그대로 발췌하였다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;의도&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;intent&amp;lt;/sup&amp;gt;&#039;&#039;&#039; &lt;/ins&gt;단락에서는 가끔씩 다른 말로 변경한 부분이 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;있지만, &lt;/ins&gt;[디자인 패턴] 본문을 그대로 발췌하였다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 패턴의 구조 다이어그램. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;주로 &lt;/del&gt;&#039;&#039;&#039;디자인 패턴&#039;&#039;&#039; &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;다이어그램과 &lt;/del&gt;다르다. 더 명확한 설명을 위해 많은 구조 다이어그램을 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;수정하여 클래스 &lt;/del&gt;객체 등 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크에 &lt;/del&gt;요구되는 객체를 포함하거나 C++ 구현과 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴의 스몰토크 &lt;/del&gt;버전을 반영하고자 하였다. 구조적으로는 동일할지 몰라도 C++가 아닌 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;구문과 의미론을 반영한다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 패턴의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;구조&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Structure&amp;lt;/sup&amp;gt;&#039;&#039;&#039; &lt;/ins&gt;다이어그램. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;대부분 &lt;/ins&gt;&#039;&#039;&#039;디자인 패턴&#039;&#039;&#039; &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;다이어그램과는 &lt;/ins&gt;다르다. 더 명확한 설명을 위해 많은 구조 다이어그램을 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;수정했으며, Class &lt;/ins&gt;객체 등 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk 에 &lt;/ins&gt;요구되는 객체를 포함하거나&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;C++ &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;의 &lt;/ins&gt;구현과 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴에 대한  Smalltalk &lt;/ins&gt;버전을 반영하고자 하였다. 구조적으로는 동일할지 몰라도 C++ 가 아닌 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;구문과 의미론을 반영한다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 논의 부분에서는 패턴의 동기, &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;버전과 C++ 렌더링의 차이, 패턴의 장단점, 패턴을 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;적용 시 고려해야 할 일반 &lt;/del&gt;사항들과 같은 주제들을 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;고려한다&lt;/del&gt;. 이 부분은 크리스토퍼 알렉산더의 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴과 같이 &lt;/del&gt;일반적인 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;설명식으로 &lt;/del&gt;구성된다 (Alexander et al., 1977).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;논의&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Discussion&amp;lt;/sup&amp;gt;&#039;&#039;&#039; &lt;/ins&gt;부분에서는 패턴의 동기, &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;버전과 C++ 렌더링의 차이, 패턴의 장단점, 패턴을 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;적용하려 할때 고민해야할 일반적인 &lt;/ins&gt;사항들과 같은 주제들을 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;다룬다&lt;/ins&gt;. 이 부분은 크리스토퍼 알렉산더의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴처럼 &lt;/ins&gt;일반적인 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;설명으로 &lt;/ins&gt;구성된다 (Alexander et al., 1977).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 협력 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴과 &lt;/del&gt;활용성 단락은 선택적이며, 때로는 논의 부분에서 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;다루기도 &lt;/del&gt;한다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;협력&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Collaborations&amp;lt;/sup&amp;gt;&#039;&#039;&#039; 및 &#039;&#039;&#039;&lt;/ins&gt;활용성&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Applicability&amp;lt;/sup&amp;gt;&#039;&#039;&#039; &lt;/ins&gt;단락은 선택적이며, 때로는 논의 부분에서 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;다뤄지기도 &lt;/ins&gt;한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 구현 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;부분은 스몰토크  &lt;/del&gt;또는 일반적으로 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴의 구현 시 관련된 &lt;/del&gt;주제들을 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;고려한다&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;구현&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Implementation&amp;lt;/sup&amp;gt;&#039;&#039;&#039;, Smalltalk &lt;/ins&gt;또는 일반적으로 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;패턴을 구현할때에 대한 관련 &lt;/ins&gt;주제들을 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;다룬다&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 예제 코드 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;부분에서는 &lt;/del&gt;패턴을 사용하는 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;코드를 제공한다. 가끔 내용이나 흐름상 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;적절할 경우 &lt;/del&gt;구현과 예제 코드를 하나의 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;단락에 &lt;/del&gt;끼워 넣기도 한다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;예제 코드&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Sample Code&amp;lt;/sup&amp;gt;&#039;&#039;&#039; 에서는 &lt;/ins&gt;패턴을 사용하는 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;코드를 제공한다. 가끔 내용이나 흐름상 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;적절한 상황이라면, &lt;/ins&gt;구현과 예제 코드를 하나의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;단락으로 &lt;/ins&gt;끼워 넣기도 한다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 알려진 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;사용예. 본 저서는 &#039;&#039;&#039;Smalltalk Companion&#039;&#039;&#039;이기 때문에 디자인 패턴을 사용하는 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;애플리케이션 및 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;스몰토크 &lt;/del&gt;라이브러리 클래스만 제시하는 것이 옳다고 판단하였다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;알려진 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;사용예&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Known Smalltalk Uses&amp;lt;/sup&amp;gt;&#039;&#039;&#039;&lt;/ins&gt;. 본 저서는 &#039;&#039;&#039;Smalltalk Companion&#039;&#039;&#039; 이기 때문에 디자인 패턴을 사용하는 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;애플리케이션 및 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Smalltalk &lt;/ins&gt;라이브러리 클래스만 제시하는 것이 옳다고 판단하였다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 관련 패턴. 이 부분은 선택적이다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/del&gt;&#039;&#039;디자인 패턴&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&lt;/del&gt;&#039;&#039;에 언급된 내용으로 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;충분하다면 &lt;/del&gt;이 단락은 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;건너 뛰어도 좋다&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;&lt;/ins&gt;관련 패턴&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;sup&amp;gt;Related Patterns&amp;lt;/sup&amp;gt;&#039;&#039;&#039;&lt;/ins&gt;. 이 부분은 선택적이다. &#039;&#039;디자인 패턴&#039;&#039;에 언급된 내용으로 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;충분한 경우라면, &lt;/ins&gt;이 단락은 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;없다&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Notes==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;references /&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:DesignPatternSmalltalkCompanion]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:DesignPatternSmalltalkCompanion]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=423&amp;oldid=prev</id>
		<title>Onionmixer: 메소드 &gt; 메서드 수정</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=423&amp;oldid=prev"/>
		<updated>2013-01-08T10:18:50Z</updated>

		<summary type="html">&lt;p&gt;메소드 &amp;gt; 메서드 수정&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:18, 8 January 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===1.4 우리의 패턴 논의===&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;===1.4 우리의 패턴 논의===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GoF와 우리가 논하는 패턴들은 특정 추상 수준을 possess한다. 일반적으로 패턴은 객체지향 애플리케이션에서 서로 다른 입자도(granularity)와 추상화 수준에서 발생하며, 그 범위는 마이크로부터 매크로까지이다. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메소드의 &lt;/del&gt;변수를 어떻게 명칭을 할 것인지, 지연 초기화를 어떻게 구현할 것인지, 코드를 어떻게 포맷할 것인지와 저수준 문제들에 대한 규약은 마이크로패턴으로 간주한다 (Kent Beck의 &#039;&#039;Smalltalk Best Practice Pattern [1997b]&#039;&#039;에 나오는 패턴의 다수는 이 범주에 속한다). 그 반대로 VisualWorks의 대화형 애플리케이션에 매우 중요한 아키텍처인 Model-View-Controller 프레임워크는 매크로패턴에 속한다. Buschmann et al.(1996)은 전체적으로 패턴을 &#039;&#039;용어&#039;&#039;부터 &#039;&#039;디자인 패턴&#039;&#039;까지, 그리고 &#039;&#039;아키텍처 패턴&#039;&#039;까지의 범위를 가진다고 주장한다. 우리 디자인 패턴들은 핵심 분야에 중점을 둔다. 이 패턴들은 잘 고안되고 프로그램화된 애플리케이션들의 일부에 유용한 마이크로아키텍처의 구조와 구현을 설명한다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GoF와 우리가 논하는 패턴들은 특정 추상 수준을 possess한다. 일반적으로 패턴은 객체지향 애플리케이션에서 서로 다른 입자도(granularity)와 추상화 수준에서 발생하며, 그 범위는 마이크로부터 매크로까지이다. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메서드의 &lt;/ins&gt;변수를 어떻게 명칭을 할 것인지, 지연 초기화를 어떻게 구현할 것인지, 코드를 어떻게 포맷할 것인지와 저수준 문제들에 대한 규약은 마이크로패턴으로 간주한다 (Kent Beck의 &#039;&#039;Smalltalk Best Practice Pattern [1997b]&#039;&#039;에 나오는 패턴의 다수는 이 범주에 속한다). 그 반대로 VisualWorks의 대화형 애플리케이션에 매우 중요한 아키텍처인 Model-View-Controller 프레임워크는 매크로패턴에 속한다. Buschmann et al.(1996)은 전체적으로 패턴을 &#039;&#039;용어&#039;&#039;부터 &#039;&#039;디자인 패턴&#039;&#039;까지, 그리고 &#039;&#039;아키텍처 패턴&#039;&#039;까지의 범위를 가진다고 주장한다. 우리 디자인 패턴들은 핵심 분야에 중점을 둔다. 이 패턴들은 잘 고안되고 프로그램화된 애플리케이션들의 일부에 유용한 마이크로아키텍처의 구조와 구현을 설명한다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039;에서와 마찬가지로 이 책은 생성 패턴, 구조 패턴, 행위 패턴의 세 장으로 구성된다. 생성 패턴에는 객체의 생성 과정을 다룬다. 구조 패턴의 경우, 구조의 컴포넌트 기능성을 효율적으로 향상시키기 위해 객체를 좀 더 복잡한 구조로 구성시킨다. 행위 패턴은 시스템의 기능적 행위, 객체가 목표를 달성하기 위한 의사소통, 협력, 책임의 분산 방법을 다룬다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039;에서와 마찬가지로 이 책은 생성 패턴, 구조 패턴, 행위 패턴의 세 장으로 구성된다. 생성 패턴에는 객체의 생성 과정을 다룬다. 구조 패턴의 경우, 구조의 컴포넌트 기능성을 효율적으로 향상시키기 위해 객체를 좀 더 복잡한 구조로 구성시킨다. 행위 패턴은 시스템의 기능적 행위, 객체가 목표를 달성하기 위한 의사소통, 협력, 책임의 분산 방법을 다룬다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;다음으로는 패턴의 &#039;&#039;범위&#039;&#039;(scope)에 따라 패턴 이름을 제목으로 분류하여 각 패턴을 주로 클래스에 적용하는지 아니면 인스턴스에  적용하는지를 상세히 다룬다. 클래스 패턴은 종속을 통해 구축된 클래스 간의 정적 관계에 초점을 둔다. 객체 패턴은 인스턴스들 간 동적 런타임 관계를 수반한다. 예를 들어, Template Method 패턴은 그 구현이 종속과 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메소드의 &lt;/del&gt;오버라이딩을 통해 시행되기 때문에 클래스 행위에 분류된다. 슈퍼클래스는 하나 또는 그 이상의 이차 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메소드를 &lt;/del&gt;호출하는 넓은 범위의 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메소드를 &lt;/del&gt;정의하며, 서브클래스는 그에 종속된 &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메소드 &lt;/del&gt;일부 또는 전부를 오버라이드할 수 있다; 따라서 패턴의 컴포넌트는 모두 정적이며, 클래스를 기반으로 한다. Strategy 패턴은 객체 행위로 분류되는데, 그 이유는 Strategy 클래스의 정의에 종속을 포함하고 있음에도 불구하고 객체 간 상호작용이 패턴의 주요 특성에 포함되기 때문이다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;다음으로는 패턴의 &#039;&#039;범위&#039;&#039;(scope)에 따라 패턴 이름을 제목으로 분류하여 각 패턴을 주로 클래스에 적용하는지 아니면 인스턴스에  적용하는지를 상세히 다룬다. 클래스 패턴은 종속을 통해 구축된 클래스 간의 정적 관계에 초점을 둔다. 객체 패턴은 인스턴스들 간 동적 런타임 관계를 수반한다. 예를 들어, Template Method 패턴은 그 구현이 종속과 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메서드의 &lt;/ins&gt;오버라이딩을 통해 시행되기 때문에 클래스 행위에 분류된다. 슈퍼클래스는 하나 또는 그 이상의 이차 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메서드를 &lt;/ins&gt;호출하는 넓은 범위의 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메서드를 &lt;/ins&gt;정의하며, 서브클래스는 그에 종속된 &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;메서드 &lt;/ins&gt;일부 또는 전부를 오버라이드할 수 있다; 따라서 패턴의 컴포넌트는 모두 정적이며, 클래스를 기반으로 한다. Strategy 패턴은 객체 행위로 분류되는데, 그 이유는 Strategy 클래스의 정의에 종속을 포함하고 있음에도 불구하고 객체 간 상호작용이 패턴의 주요 특성에 포함되기 때문이다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;전체적 구조는 동일하지만 이 책의 내용과 GoF 패턴의 양식이 완전히 중복되는 것은 아니다. 그렇다고 완전히 새로운 패턴을 작성하는 것도 아니다; GoF가 이미 쓴 패턴들이다. 대신 이러한 패턴들에 대한 스몰토크 버전을 제시하는 것이 목적이다. 따라서 GoF 패턴에 사용된 모든 하위단락을 필요로 하진 않는다. 우리 패턴은 다음과 같이 변하기 쉬운 내용을 싣고 있다.  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;전체적 구조는 동일하지만 이 책의 내용과 GoF 패턴의 양식이 완전히 중복되는 것은 아니다. 그렇다고 완전히 새로운 패턴을 작성하는 것도 아니다; GoF가 이미 쓴 패턴들이다. 대신 이러한 패턴들에 대한 스몰토크 버전을 제시하는 것이 목적이다. 따라서 GoF 패턴에 사용된 모든 하위단락을 필요로 하진 않는다. 우리 패턴은 다음과 같이 변하기 쉬운 내용을 싣고 있다.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l17&quot;&gt;Line 17:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 17:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 알려진 스몰토크 사용예. 본 저서는 &amp;#039;&amp;#039;&amp;#039;Smalltalk Companion&amp;#039;&amp;#039;&amp;#039;이기 때문에 디자인 패턴을 사용하는 스몰토크 애플리케이션 및 스몰토크 라이브러리 클래스만 제시하는 것이 옳다고 판단하였다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 알려진 스몰토크 사용예. 본 저서는 &amp;#039;&amp;#039;&amp;#039;Smalltalk Companion&amp;#039;&amp;#039;&amp;#039;이기 때문에 디자인 패턴을 사용하는 스몰토크 애플리케이션 및 스몰토크 라이브러리 클래스만 제시하는 것이 옳다고 판단하였다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 관련 패턴. 이 부분은 선택적이다. &amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039;에 언급된 내용으로 충분하다면 이 단락은 건너 뛰어도 좋다.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* 관련 패턴. 이 부분은 선택적이다. &amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039;에 언급된 내용으로 충분하다면 이 단락은 건너 뛰어도 좋다.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:DesignPatternSmalltalkCompanion]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:DesignPatternSmalltalkCompanion]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
	<entry>
		<id>https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=422&amp;oldid=prev</id>
		<title>Onionmixer: DPSC 우리의패턴논의 페이지 추가</title>
		<link rel="alternate" type="text/html" href="https://trans.onionmixer.net/wiki/index.php?title=DesignPatternSmalltalkCompanion:1.4&amp;diff=422&amp;oldid=prev"/>
		<updated>2012-07-26T12:37:38Z</updated>

		<summary type="html">&lt;p&gt;DPSC 우리의패턴논의 페이지 추가&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;===1.4 우리의 패턴 논의===&lt;br /&gt;
&lt;br /&gt;
GoF와 우리가 논하는 패턴들은 특정 추상 수준을 possess한다. 일반적으로 패턴은 객체지향 애플리케이션에서 서로 다른 입자도(granularity)와 추상화 수준에서 발생하며, 그 범위는 마이크로부터 매크로까지이다. 메소드의 변수를 어떻게 명칭을 할 것인지, 지연 초기화를 어떻게 구현할 것인지, 코드를 어떻게 포맷할 것인지와 저수준 문제들에 대한 규약은 마이크로패턴으로 간주한다 (Kent Beck의 &amp;#039;&amp;#039;Smalltalk Best Practice Pattern [1997b]&amp;#039;&amp;#039;에 나오는 패턴의 다수는 이 범주에 속한다). 그 반대로 VisualWorks의 대화형 애플리케이션에 매우 중요한 아키텍처인 Model-View-Controller 프레임워크는 매크로패턴에 속한다. Buschmann et al.(1996)은 전체적으로 패턴을 &amp;#039;&amp;#039;용어&amp;#039;&amp;#039;부터 &amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;까지, 그리고 &amp;#039;&amp;#039;아키텍처 패턴&amp;#039;&amp;#039;까지의 범위를 가진다고 주장한다. 우리 디자인 패턴들은 핵심 분야에 중점을 둔다. 이 패턴들은 잘 고안되고 프로그램화된 애플리케이션들의 일부에 유용한 마이크로아키텍처의 구조와 구현을 설명한다.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039;에서와 마찬가지로 이 책은 생성 패턴, 구조 패턴, 행위 패턴의 세 장으로 구성된다. 생성 패턴에는 객체의 생성 과정을 다룬다. 구조 패턴의 경우, 구조의 컴포넌트 기능성을 효율적으로 향상시키기 위해 객체를 좀 더 복잡한 구조로 구성시킨다. 행위 패턴은 시스템의 기능적 행위, 객체가 목표를 달성하기 위한 의사소통, 협력, 책임의 분산 방법을 다룬다.&lt;br /&gt;
 &lt;br /&gt;
다음으로는 패턴의 &amp;#039;&amp;#039;범위&amp;#039;&amp;#039;(scope)에 따라 패턴 이름을 제목으로 분류하여 각 패턴을 주로 클래스에 적용하는지 아니면 인스턴스에  적용하는지를 상세히 다룬다. 클래스 패턴은 종속을 통해 구축된 클래스 간의 정적 관계에 초점을 둔다. 객체 패턴은 인스턴스들 간 동적 런타임 관계를 수반한다. 예를 들어, Template Method 패턴은 그 구현이 종속과 메소드의 오버라이딩을 통해 시행되기 때문에 클래스 행위에 분류된다. 슈퍼클래스는 하나 또는 그 이상의 이차 메소드를 호출하는 넓은 범위의 메소드를 정의하며, 서브클래스는 그에 종속된 메소드 일부 또는 전부를 오버라이드할 수 있다; 따라서 패턴의 컴포넌트는 모두 정적이며, 클래스를 기반으로 한다. Strategy 패턴은 객체 행위로 분류되는데, 그 이유는 Strategy 클래스의 정의에 종속을 포함하고 있음에도 불구하고 객체 간 상호작용이 패턴의 주요 특성에 포함되기 때문이다.&lt;br /&gt;
&lt;br /&gt;
전체적 구조는 동일하지만 이 책의 내용과 GoF 패턴의 양식이 완전히 중복되는 것은 아니다. 그렇다고 완전히 새로운 패턴을 작성하는 것도 아니다; GoF가 이미 쓴 패턴들이다. 대신 이러한 패턴들에 대한 스몰토크 버전을 제시하는 것이 목적이다. 따라서 GoF 패턴에 사용된 모든 하위단락을 필요로 하진 않는다. 우리 패턴은 다음과 같이 변하기 쉬운 내용을 싣고 있다. &lt;br /&gt;
&lt;br /&gt;
* 간단한 의도 단락에서는 가끔씩 다른 말로 변경한 부분이 있긴 하나 [디자인 패턴] 본문을 그대로 발췌하였다. &lt;br /&gt;
* 패턴의 구조 다이어그램. 주로 &amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039; 다이어그램과 다르다. 더 명확한 설명을 위해 많은 구조 다이어그램을 수정하여 클래스 객체 등 스몰토크에 요구되는 객체를 포함하거나 C++ 구현과 패턴의 스몰토크 버전을 반영하고자 하였다. 구조적으로는 동일할지 몰라도 C++가 아닌 스몰토크 구문과 의미론을 반영한다. &lt;br /&gt;
* 논의 부분에서는 패턴의 동기, 스몰토크 버전과 C++ 렌더링의 차이, 패턴의 장단점, 패턴을 적용 시 고려해야 할 일반 사항들과 같은 주제들을 고려한다. 이 부분은 크리스토퍼 알렉산더의 패턴과 같이 일반적인 설명식으로 구성된다 (Alexander et al., 1977).&lt;br /&gt;
* 협력 패턴과 활용성 단락은 선택적이며, 때로는 논의 부분에서 다루기도 한다. &lt;br /&gt;
* 구현 부분은 스몰토크  또는 일반적으로 패턴의 구현 시 관련된 주제들을 고려한다.&lt;br /&gt;
* 예제 코드 부분에서는 패턴을 사용하는 스몰토크 코드를 제공한다. 가끔 내용이나 흐름상 적절할 경우 구현과 예제 코드를 하나의 단락에 끼워 넣기도 한다. &lt;br /&gt;
* 알려진 스몰토크 사용예. 본 저서는 &amp;#039;&amp;#039;&amp;#039;Smalltalk Companion&amp;#039;&amp;#039;&amp;#039;이기 때문에 디자인 패턴을 사용하는 스몰토크 애플리케이션 및 스몰토크 라이브러리 클래스만 제시하는 것이 옳다고 판단하였다.&lt;br /&gt;
* 관련 패턴. 이 부분은 선택적이다. &amp;#039;&amp;#039;&amp;#039;디자인 패턴&amp;#039;&amp;#039;&amp;#039;에 언급된 내용으로 충분하다면 이 단락은 건너 뛰어도 좋다.&lt;br /&gt;
[[Category:DesignPatternSmalltalkCompanion]]&lt;/div&gt;</summary>
		<author><name>Onionmixer</name></author>
	</entry>
</feed>