������̾�ɤθ��񤭤��ե�����ơ������� ATL �����ƥॺ�һ������������ä��Ƥ����Ȥ��Τ��ȤǤ��롣

����ϺǶᡢ��Ĥοʤ����˥ǥ�����ѥ���������ƤϤ�Ƥߤ�¸��򤷤Ƥ��ơ�����ƤȤ��� Iterator �ѥ���������ƤϤ�Ʋ�Ĥ�ʤ�Ƥߤ��Ȥ���������ޤǤβ�ĤȰ�ä�����������줿�Τ��ȸ�����

Iterator �ѥ�����β�ĤȤϡ��̾���ä����Ĥε��꤬����äƤ��鼡�ε���˿ʤ�Ȥ����򡢰���ܤε��꤬�ϤޤäƤ��������֤��Фä��鼡�ε���˰ܤꡢ�ޤ����ε����Ʊ�������ä�����䤷����ޤ�����ܤε�����ä����Ȥ������Ȥ򷫤��֤��Ƥ�����������β�ĤǤ��롣������ˡ��Ĺ��Ȥ��Ƥϡ�������֤��Ȥ�ɬ���������ꤹ�뤳�Ȥˤʤ�Τǡ���Ĥε���򿼷��ꤷ�������ä��٤����Ƥ򤹤٤ƾò��Ǥ��ʤ��Ȥ����褦�ʤ��Ȥ��򤱤��뤷����Ĥ˰���Υڡ������⤿�餵���Τǡ��ƥ���ɤ���Ĥ�ʤ�Ƥ������Ȥ��Ǥ��롣

���եȥ�������ȯ�Τ���ˤޤȤ��줿�ǥ�����ѥ�������ĤȤ����ޤä����̤Τ�Τ����ƤϤ᤿�Ȥ��������̤�������Τ����Ȥ�����Ŧ�⤢��Ȥϻפ��������Τ褦�ʤ����˽����ˡ��ȯ��������Ĥο�������������Ȥ����ΤϳΤ��ˤ���Ȼפ���

�����ǡ��һ�����λ�ߤ����ۤ����ơ�GoF �Υѥ�����Τ��줾����Ĥ����ƤϤ��ȤɤΤ褦�ʲ�ĤΥ������뤬���ޤ�����Τ��򡢼��Τ褦�˹ͤ��Ƥߤ���

1. Abstract Factory �ѥ�����β�Ĥؤα���

�̾�β�ĤǤϡ����üԤˤ�äưۤʤ����������ꡢƱ��ȯ���򤹤�ˤ⡢��Ʒ���ȯ����¿������͡���Ƥ��Ф��Ƶ����򾧤��뤳�Ȥ�¿���͡�ȯ�������褦�Ȥ���͡���«�����褦�Ȥ���ͤȤ����褦�ˡ��ܤ��Ԥäƻפ��Ф��Ƥߤ�С����ʼ�ʬ�����ä��Ƥ����ĤǤ⡢�ͤ��줾���������ȯ������ˤˤ��߽ФƤ��뤳�Ȥ�¿����

������˺��ƤϤʤ�ʤ��Τϡ����ʥͥ��ƥ��֤�ȯ���Ф��ꤷ�Ƥ���ͤ��ݥ��äȽФ����ݥ��ƥ��֤ʰո����������򤤰ո����ä��ꤹ�뤳�Ȥ����ä��ꡢ�ݥ��ƥ��֤�ȯ����¿���ͤˡ��ꥹ���䥳���Ȥȸ��ä��ͥ��ƥ��֤ʻ������礱�Ƥ��ޤäƤ��뤳�Ȥ⤢�롢�Ȥ������ȤǤ��롣

Abstract Factory �ѥ�����β�ĤǤϡ����üԤ˵�����ȯ���μ�����ꤷ�����ü����������ݥ��ƥ��֤ʰո���ͥ��ƥ��֤ʰո��⡢����ʳ��ε��ꤵ��Ƥ�������ȯ���⡢ɬ����󤺤�ȯ������褦�ˤ��롣

�㤨�Х��󥿡��ե����� OpinionFactory �ˤϼ��Τ褦�ʥ᥽�åɤ��ͤ������������

1. ���ߤε�����Ф��Ƥι���Ū�ʰո������ (createPositiveOpinion())
2. ���ߤε�����Ф��Ƥ�����Ū�ʰո������ (createNegativeOpinion())
3. ���ߤε�����Ф��ơ����餫��ɽ��������� (createMatrix())

���üԤ��줾�줬 Person implements OpinionFactory �Ȥ��ä����Τǡ�
OpnionFactory ���������ΤǤ��롣

���Υѥ�����������ϡ�ȯ���μ���򷿤Ȥ���������뤳�Ȥǡ����üԤ����̲�äƤ�������Ū�ʥ����ǥ���ո�������Ф���ȯ����¥�����Ȥˤ��롣

KPT �ϼ¤Ϥ��Υѥ�����˶ᤤ��

Problem ����󤹤�Ȥ����ǡ��̾�β�ĤǤϤ虜�虜����˵󤲤�ۤɤǤ�ʤ����������꤬��Problem �ϲ����ʤ�������ʹ����뤳�Ȥǥݥ��ݥ��ȽФƤ��ơ������ˤĤʤ��롣

2. Builder �ѥ�����β�Ĥؤα���

��Ĥˤ��͡��ʻ��üԤ�����꤬��Ф���뤬���������мԤˤ�äơ��аޤ��鸽��������ޤ�ɬ�פʾ��������ˤ�����ȤޤȤ�Ƥ���ͤ⤤��С������μ��ζ�ͭ�ʤ��ˤ����ʤ��Ĥ�Ƚ�Ǥ���Ƥ���ͤ⤤�롣
ɬ�פʾ��󤬶�ͭ����Ƥ��ʤ����֤�Ƚ�Ǥ�Ԥ����ȤϤǤ��ʤ��Τǡ��������������¿���ξ�硢���ٺ����ᤷ�ˤʤꡢ���پ����ޤȤ᤿��Ǹ�Ƥ���뤳�Ȥˤʤ롣

Builder �ѥ�����β�ĤǤϡ��Ļ�����Ф���ݤΥե����ޥåȤ��㤨�м��Τ褦�˵��ꤹ�롣

1. ���꤬�ФƤ����а�
2. ������
3. ������Ƚ��
4. ����

�����Ƥ��줾��ε������мԤ��������ǵ��ꤵ��Ƥ�����󤬵���줿�Ȥ��ˤ����������館��褦�˽������Ƥ�����

���4���ܤ�������륤�󥿡��ե������� TopicBuilder ���ä��Ȥ��ơ�
��мԤϤ��Υ��󥿡��ե��������������ΤǤ��롣

���Υѥ�����������ϡ��Ļ���ФΥץ��������귿�ե����ޥåȤ�Ϳ���뤳�Ȥǡ��аޤ������ʤ�������Ƚ�Ǥ���Ƥ��ޤ����Ȥ����褦�ʵĻ��κ����̤�����ɻߤ��뤳�Ȥˤ��롣

3. Factory Method �ѥ�����β�Ĥؤα���

��Ͱ�ͽ��֤�ȯ�����Ƥ��������ĤΤ褦�ʲ�Ĥ䡢��Ĥκ���ˤ���ͤ��̾���ơ����η�ˤĤ��Ƥɤ��פ��ޤ����Ȱո������褦�ʲ�Ĥϡ����üԤ��ɤΤ褦��ȯ���򤹤뤫��ȯ���Ԥ�Ǥ���졢�ͤ��줾��˰ۤʤ�ȯ�����Ԥ��뤬���ե�����ơ��������Ĺ�Ϥ���ȯ�������Ƥ˰�¸���뤳�Ȥʤ���̾���뤳�Ȥ��Ǥ���Ȥ�����̣�ǡ�Factory Method �ѥ�����β�ĤǤ���ȸ����롣

����ϻ䤿�������ʤ����ɤ��ΤäƤ��륿���פβ�ĤǤ��롣

�ץ�����ߥ�Ū�˸����С����󥿡��ե����� OpinionFactory �ˤϥ᥽�å� createOpinion() ��������졢AbstractFactory �ѥ������Ʊ�͡����üԤ����Υ��󥿡��ե����������������Ǥ��롣


������ GoF �����ѥ���������夷�褦�Ȼפäƽ񤭻Ϥ᤿�Τ����������˴ؤ���ѥ��������Ⱦ��ʬ�����Ǥ��������ʬ�̤ˤʤäƤ��ޤä��Τǡ��Ȥꤢ���������ǰ�ö��λ���뤳�Ȥˤ��롣

���եȥ�������ȯ�Τ���Υǥ�����ѥ�������Ĥ����ƤϤ�뤳�Ȥϡ���Ƭ�˽񤤤��褦�ˤ����˽�ʤ�������Ȥϻפ���

�����������⤹����ĺɤ������ʲ�Ĥοʤ������Ф��뿷���������Υ��ץ��������θ��������Ȥ��ƹͤ����Ȥ��ˡ���������¤�������񤤤Ȥ��ä�����Ĥˤ����ƤϤޤ����Ǥ�¿���ǥ�����ѥ�����ϡ���������ˡ�򸫤Ĥ��뤿��γʹ��κ����ˤʤ뤫�⤷��ʤ���




¥ª¥Ö¥¸¥§¥¯¥È»Ø¸þ¤Ë¤ª¤±¤ëºÆÍøÍѤΤ¿¤á¤Î¥Ç¥¶¥¤¥ó¥Ñ¥¿¡¼¥ó
����å� ����� ���� ����󥽥� ����㡼�� �إ�� ����� �֥ꥷ�ǥ�����
Erich Gamma Ralph Johnson Richard Helm John Vlissides
�ܰ��� ���� ���� �¼�
���եȥХ󥯥��ꥨ���ƥ���
���夲��󥭥�: 8711
���������٤�ʿ��: 4.5
5 �����̤���˥ȥåץ��
5 ���򤷤Ƥ����Ȥ褤��
4 �ǥ�����ѥ������������