Article View: cn.bbs.comp.lang.java
Article #21380MM�����ģʽ��java��32�����ģʽ��ת��
From: ���¹۷�
Date: Sun, 30 Nov 2003 09:41
Date: Sun, 30 Nov 2003 09:41
252 lines
26280 bytes
26280 bytes
ԭ������csdn ==================================== ������ģʽ 1��factory��mm�ٲ�����Է��ˣ����͵ļ���Ϳϵ»�ļ��ᶼ��mm���ԵĶ������� Ȼ��ζ����ͬ�����������mmȥ���ͻ�ϵ»�ֻ�������Ա˵�����ĸ����ᡱ���� �ˡ����ͺͿϵ»���������factory ����ģʽ���ͻ��������ֿ���������κ�ʱ����Ҫij�ֲ�Ʒ��ֻ�������ɡ� ����������ľͿ��Խ����²�Ʒ��ȱ���ǵ���Ʒ��ʱ��������ҲҪ����Ӧ���ġ��� ����δ����������ͻ����ṩ�� 2��builder��mm���ľ��ǡ��Ұ��㡱��仰�ˣ���ͬ�ط���mm,Ҫ�ܹ������ǵ� ���Ը���˵��仰Ŷ������һ���������Է��������ÿ�����Զ���һ�������mm�� ֻҪ����Ӧ�ļ�����ܹ�����Ӧ������˵�����Ұ��㡱��仰�ˣ������mmҲ�������� ��࣬������ҵġ��Ұ��㡱builder������һ�����������������õķ��������� ����ģʽ������Ʒ���ڲ�����Ͳ�Ʒ����ɹ�̷ָ�����Ӷ�ʹһ����������ɾ��� ��ͬ���ڲ�����IJ�Ʒ������ģʽʹ�ò�Ʒ�ڲ�������Զ����ı仯���ͻ�����֪�� ��Ʒ�ڲ���ɵ�ϸ�ڡ�����ģʽ����ǿ��ʵ��һ�ֲַ�����еĽ����̡� 3��factory method����mmȥ���ͳԺ�������ͬ��mm�в�ͬ�Ŀ�ζ��Ҫÿ������ס��һ �����˵����飬��һ�����factory methodģʽ������mm������Ա�Ƕ�˵��Ҫһ������ ��������Ҫʲô��ĺ����أ���mmֱ�Ӹ����Ա˵�����ˡ� ��������ģʽ�����Ĺ�����ٸ������в�Ʒ�Ĵ��������ǽ����崴���Ĺ�����������ȥ ������Ϊһ��������ɫ�������������幤�������ʵ�ֵĽӿڣ���Ӵ���һ���� Ʒ��Ӧ����ʵ������ϸ�ڡ� 4��prototype����mm��qq���죬һ��Ҫ˵Щ����Ļ����ˣ����Ѽ��˺ö�������黰���� ҪʱֻҪcopy�����ŵ�qq��������ˣ�������ҵ��黰prototype�ˡ���100��Ǯһ�ݣ��� Ҫ��Ҫ�� ԭʼģ��ģʽ��ͨ����һ��ԭ�Ͷ�����ָ����Ҫ�����Ķ�������ͣ�Ȼ���ø������ԭ �Ͷ���ķ������������ͬ���͵Ķ���ԭʼģ��ģʽ���?̬�����ӻ���ٲ�Ʒ�࣬�� Ʒ���Ҫ�ǵ����κ�����ȷ���ĵȼ��ṹ��ԭʼģ��ģʽ�������κεĵȼ��ṹ��ȱ�� ��ÿһ��������䱸һ����¡������ 5��singleton������6��Ư�������ţ����ǵ��Ϲ������ң��Ҿ������Ǽ�����Ϲ� sigleton������ֻҪ˵�����Ϲ���������ָ��ͬһ���ˣ��Ǿ�����(�ղ����˸��������� ����ô�õ���) ����ģʽ������ģʽȷ��ijһ����ֻ��һ��ʵ���������ʵ�������ϵͳ�ṩ��� ʵ����ģʽ������ģʽֻӦ��������ġ���һʵ�������ʱ�ſ�ʹ�á� �ṹ��ģʽ 6��adapter�������Ѿۻ���������һ����Ůsarah����������ģ����Ҳ���˵����� ��˵��ͨ����ֻ���������ҵ�����kent�ˣ�����Ϊ�Һ�sarah֮���adapter�����Һ� sarah�������̸��(Ҳ��֪������ˣ��) ����������ѹ����ģʽ����һ����Ľӿڱ任�ɿͻ������ڴ����һ�ֽӿڣ��Ӷ�ʹԭ�� ��ӿ�ԭ��ƥ�����һ�������������ܹ�һ��������������Ը�ݲ���һ�� ���ʵ�ʵ���ͻ��ˡ� 7��bridge����������mm��Ҫ˵���Ϻã���������mm��Ҫ˵���Ϻã�����mm���˼����·� ��Ҫ˵����·���Ư��Ŷ������mm�����ķ��ͣ�Ҫ˵���ͷ����Ư��Ŷ����Ҫ���ҡ����� ����mm�����˸�������ô˵���������⣬�Լ���bridge���һ�²������� ����ģʽ����������ʵ�ֻ����ʹ�ö��߿��Զ����ı仯��Ҳ����˵������֮���ǿ ���������������Ҳ����ָ��һ�����ϵͳ�ij���ʵ�ֻ�֮��ʹ�����/�ۺϹ�ϵ�� ���Ǽ̳й�ϵ���Ӷ�ʹ���߿��Զ����ı仯�� 8��composite��mary��������ա����ҹ����գ���Ҫ����һ����������ţ��ðɣ�ȥ�� �꣬���Լ������������t��ͦƯ����������ȹ�Ӻÿ����������Ҳ���?���� ι�����������ѽ����ֻ��Ӧ��һ�������Ŷ������ʲôѽ��t����ȹ�ӼӰ������� ��һ��ѽ��С�㣬�鷳���������������������mm������compositeģʽ�ˣ������û�� �� �ϳ�ģʽ���ϳ�ģʽ��������֯�����ṹ�У������������������벿�ֵĹ�ϵ���ϳ�ģʽ ����һ�������������ṹ��ģʽ���ϳ�ģʽ�Ѳ���������Ĺ�ϵ�����ṹ��ʾ�������� ��ģʽʹ�ÿͻ��˰�һ���������ijɷֶ���������Ǹ��϶�ɵĺϳɶ���ͬ�ȿ��� 9��decorator��mary�����ֵ�sarly�����գ����Dz�Ҫ�����Լ����ˣ���Ȼ����»�ʳ�� �϶����꣬�ó���ȥ���ڻ�ɽ�����յ���Ƭ���ڱ���д�ϡ���õĵ�������ǰ���� fita�����ٵ�������Ʒ�����˸��������Ʒ��mmҲ��Ư��Ŷ�������Ҹ��ڸ�������Ƶ� mike�����һ��Ư���ĺ���װ�������������Ƕ���decorator�����ն��������������ѽ ����ô�������� װ��ģʽ��װ��ģʽ�ԶԿͻ������ķ�ʽ��չ����Ĺ��ܣ��Ǽ̳й�ϵ��һ����� ���ṩ�ȼ̳и�������ԡ���̬��һ���������ӹ��ܣ���Щ���ܿ����ٶ�̬�ij����� ����һЩ���ܵ�������϶����ķdz������Ĺ��ܡ� 10��facade������һ��רҵ��nikon����Ҿ�ϲ���Լ��ֶ�����Ȧ�����ţ������ճ��� ����Ƭ��רҵ����mm�ɲ�����Щ�����˰���Ҳ���ᡣ�Һ������facade���ģʽ������� �����Զ�����ֻҪ��Ŀ�갴���ž����ˣ�һ��������Զ���������mmҲ��������� ������������Ƭ�ˡ� ����ģʽ���ⲿ��һ����ϵͳ��ͨ�ű���ͨ��һ��ͳһ�����������С�����ģʽ�ṩһ ���߲�εĽӿڣ�ʹ����ϵͳ������ʹ�á�ÿһ����ϵͳֻ��һ�������࣬���Ҵ������� ֻ��һ��ʵ��Ҳ����˵����һ������ģʽ�������ϵͳ�����ж�������ࡣ 11��flyweight��ÿ���mm�����ţ���ָ�������ˣ�������˸����ֻ����һЩ���� �ľ��Ӵ����ֻ��Ҫ�õ�ʱ��ֱ���ó�������ǰ�����mm�����־Ϳ��Է����ˣ��ٲ� ��һ����һ�������ˡ�����ľ��Ӿ���flyweight��mm�����־�����ȡ�������ⲿ������ ������������ʹ�á� ��Ԫģʽ��flyweight��ȭ��������ָ������������Ԫģʽ�Թ���ķ�ʽ��Ч��֧�ִ��� ��ϸ���ȶ�����Ԫģʽ����������Ĺؼ����������״̬������״̬������״̬�洢�� ��Ԫ�ڲ��������滷���ĸı������ͬ������״̬���滷���ĸı��ı�ġ�����״̬ ����Ӱ������״̬��������������ġ������Թ����״̬�Ͳ����Թ����״̬�ӳ����� ����ֿ������������Թ����״̬���������ȥ���ͻ��˲�����ֱ�Ӵ���������Ķ��� ����Ӧ��ʹ��һ������������������Ķ�����Ԫģʽ���ȵĽ����ڴ��ж���� ������ 12��proxy����mm���������죬һ��ͷ���ǡ�hi,��á�,������Ķ���ѽ������������ ��������߶���ѽ������Щ�����淳�ˣ�д��������Ϊ�ҵ�proxy�ɣ����ǽ��յ���Щ�� �����ú����Զ��Ļش𣬽��յ�����Ļ�ʱ��֪ͨ�һش���ô���ɡ� ����ģʽ������ģʽ��ijһ�������ṩһ����������ɴ��������ƶ�Դ��������� ���������һ���˻�һ��������һ���˻���һ�����ȡ�ж���ijЩ����£��ͻ��� ����߲��ܹ�ֱ������һ���������������ڿͻ���Ŀ�����ֱ�����н�����á� �ͻ��˷ֱ治�����������������ʵ���������ģʽ���Բ���֪������ı�������� �����������һ�����������Ľӿڣ���ʱ���������ܹ������������������� �������ϵͳ�������ɫ��Ϊ���������롣 ��Ϊģʽ 13��chain of responsibleity������ȥ��Ӣ��Σ�Ϊ�˺ÿ����������һ�ţ��ۣ�ǰ �����˺ü���Ư����mm��������ֽ����д�ϡ�hi,�������ҵ�Ů���������Ը������ ǰ������ֽ����һ����һ���Ĵ���ȥ�ˣ���⣬������һ�ŵ�mm��ֽ��������ʦ�ˣ���˵ �Ǹ��ϴ�Ůѽ������! ������ģʽ����������ģʽ�У��ܶ������ÿһ����������¼ҵ����ö�� �����γ�һ������������������ϴ��ݣ�ֱ�����ϵ�ijһ�����������������ͻ��� ��֪�����ϵ���һ���������մ����������ϵͳ�����ڲ�Ӱ��ͻ��˵�����¶�̬���� ����֯���ͷ������Ρ�������������ѡ�е����λ��߰������Ƹ��¼ҡ�һ��������� ���ղ����κν��ն˶�������ܡ� 14��command������һ��mm����ܵ��ر��ϣ�û�����棬ֻ�ý�������ܵ���������֮�� ������Ϣ���������ʲôָʾ����дһ��ֽ������ܴܵ���ҡ��ⲻ����ܵ��ִ����� һ��command��Ϊ�˸�л��������������ӽ��棬��֪����˵������ͬʱ���ҽ����� ��������command����������С������ҳ��档����:-( ����ģʽ������ģʽ��һ��������߲�����װ��һ�������С�����ģʽ�ѷ������������ ��ִ����������ηָ��ί�ɸ�ͬ�Ķ�������ģʽ���������һ���ͷ��͵�һ���� ��������ʹ�������һ������֪�����������һ���Ľӿڣ����֪����������ô������ ���Լ������Ƿ�ִ�У���ʱ��ִ���Լ�����ô��ִ�еġ�ϵͳ֧������ij��� 15��interpreter������һ������mm�澭���������и�����mm�Ĺ��ԣ�����˵ȥ�����͵� ���衢ȥ����Ӱ�ķ����ȵȣ���mmԼ��ʱ��ֻҪ��һ��interpreter����������Ľű�ִ �оͿ����ˡ� ������ģʽ����һ�����Ժ�����ģʽ���Զ�������ķ���һ�ֱ�ʾ����ͬʱ�ṩһ �����������ͻ��˿���ʹ�������������������������еľ��ӡ�������ģʽ���������� ������һ�����ķ���ʹ��ģʽ��ƽ�����Щ��䡣�ڽ�����ģʽ�����ᵽ�������� ָ�κν����������ܹ����͵��κ���ϡ��ڽ�����ģʽ����Ҫ����һ������ķ��������� �ĵȼ��ṹ��Ҳ����һϵ�е���Ϲ���ÿһ�����������һ�����ͷ������������� ����Ľ��͡��������ĵȼ��ṹ�еĶ�����κ�������϶���һ�����ԡ� 16��iterator���Ұ�����mary������һ�е�������顣 mary������Ҫ�Ҹ����飬�ô�Ӧ�ҵ������� �ң���ʲô�����Ҷ���Ӧ����˵�ɡ� mary�����ҿ������Ǹ�һ��������ʯ�� �ң��������������𣿡� mary�����ҿ����˺��ߵ��Ƕ����� �ң��������������𣿡� mary�������С�ܱܵ���Ҫ��50cm���� ���Դ��˵�һ�����������ϣ�һҧ�������Ҽ����Ҽ��������𣿡� ���� �����ģʽ�������ģʽ����˳�����һ���ۼ��е�Ԫ�ض�ر�¶�ۼ����ڲ����� ���������һ���γɵ������֮Ϊ�ۼ����ۼ��������ܹ�����һ��������������� ��ģʽ���������װ��һ���������Ӷ����У��Ӷ���ۼ���������������ģʽ���� �ۼ��Ľ��档ÿһ���ۼ���������һ����һ�����ϵĵ���Ӷ���ÿһ������ӵĵ� ��״̬�����DZ˴˶����ġ�����㷨���Զ����ھۼ���ɫ�仯�� 17��mediator���ĸ�mm���齫���֮��˭Ӧ�ø�˭����Ǯ�㲻����ˣ��ҿ���ʱ������ �ߣ����ո��Եij�������Ǯ����Ǯ�Ĵ��������ã�����Ǯ��Ҳ�����ң�һ�о�ok������ �õ����ĸ�mm�ĵ绰�� ��ͣ��ģʽ����ͣ��ģʽ��װ��һϵ�ж�������õķ�ʽ��ʹ����Щ��������� ���á��Ӷ�ʹ���ǿ�����ɢż�ϡ���ijЩ����֮������÷���ı�ʱ����������Ӱ������ ��һЩ����֮������á���֤��Щ���ÿ��Ա˴˶����ı仯����ͣ��ģʽ����Զ��� ����ת��Ϊһ�Զ������á���ͣ��ģʽ���������Ϊ��Э�������Ѷ�����С�߶� ����Ϊ����������������÷ֿ����? 18��memento��ͬʱ���mm����ʱ��һ��Ҫ������ղŸ�mm˵��Щʲô������Ȼmm���� �˻���˵�Ŷ���ҿ����и�����¼���ղ����ĸ�mm˵��ʲô���Ҷ�����һ�ݷŵ�����¼ ���汣�棬���������ʱ�쿴��ǰ�ļ�¼���� ����¼ģʽ������¼������һ�������洢����һ�������ڲ�״̬�Ŀ��յĶ�����¼ģ ʽ���������ڲ��ƻ���װ�������£���һ�������״̬ס�����ⲿ�����洢�������Ӷ� �����ڽ������ʵ�ʱ����������ԭ���洢������״̬�� 19��observer����֪�����ǹ�˾����mm�鱨�𣿼��빫˾��mm�鱨�ʼ�������ˣ�tom�� ���Ѽ��鱨�����ֵ����鱨����һ��һ��֪ͨ���ǣ�ֱ�ӷ������ʼ��飬������Ϊ���� �ߣ��۲��ߣ��Ϳ��Լ�ʱ�յ��鱨�� �۲���ģʽ���۲���ģʽ������һ��һ�Ӷ��������ϵ���ö���۲��߶���ͬʱ����ijһ ���������������������״̬�Ϸ���仯ʱ����֪ͨ���й۲��߶���ʹ�����ܹ��� �������Լ��� 20��state����mm����ʱ��һ��Ҫע�����״̬Ŷ���ڲ�ͬ��״̬ʱ�����Ϊ���в�ͬ�� ������Լ���������ȥ����Ӱ������û��Ȥ��mm�ͻ�˵�����������������㲻���ᵫ��û ϲ���ϵ�mm�ͻ�˵���ð���������Դ�����ͬ��ô�������Ѿ�ϲ�������mm�ͻ�˵������ �ӣ������Ӱ��ȥ�ݰ���ô������Ȼ�㿴��Ӱ����б������õĻ���Ҳ����mm��״ ̬�Ӳ����ϲ�����ϲ��Ŷ�� ״̬ģʽ��״̬ģʽ����һ�����������ڲ�״̬�ı��ʱ��ı���Ϊ�����������ȥ�� �Ǹı��������һ��״̬ģʽ�����о��Ķ������Ϊ��װ�ڲ�ͬ��״̬�����ÿһ�� ״̬��������һ������״̬���һ�����ࡣ״̬ģʽ����ͼ����һ�����������ڲ�״̬ �ı��ʱ������ΪҲ��֮�ı䡣״̬ģʽ��Ҫ��ÿһ��ϵͳ����ȡ�õ�״̬����һ��״ ̬������ࡣ��ϵͳ��״̬�仯ʱ��ϵͳ��ı���ѡ�����ࡣ 21��strategy����ͬ���͵�mmԼ�ᣬҪ�ò�ͬ�IJ��ԣ��е����Ӱ�ȽϺã��е���ȥ�� С��Ч��?�е�ȥ������������ʣ���Ŀ�Ķ���Ϊ�˵õ�mm�ķ��ģ��ҵ�mm������ �кö�strategyŶ�� ����ģʽ������ģʽ���һ���㷨����ÿһ���㷨��װ�����й�ͬ�ӿڵĶ��������У��� ��ʹ�����ǿ�����滻������ģʽʹ���㷨�����ڲ�Ӱ�쵽�ͻ��˵�����·���仯�� ����ģʽ����Ϊ�ͻ����ֿ��������ฺ��ά�ֺͲ�ѯ��Ϊ�࣬�����㷨�ھ���IJ������� �ṩ�������㷨�ͻ��������������㷨���������Ķ�����Ӱ�쵽�����Ϳͻ��ˡ� 22��template method�����������˵��Ů���ϴ����ⲿ����������Ů�����ʶ���� ���IJ���IJ����Ϊ���������ƽ��֡�չ�����ǡ�ǰϷ�����֡���������ȥ�˴� ��(template method)����ÿ��������Բ�ͬ����������в�һ������������Ҫ������ ��Ӧ����(����ʵ��)�� ģ�巽��ģʽ��ģ�巽��ģʽ��һ�������࣬���������Ծ��巽���Լ����幹���ӵ� ��ʽʵ�֣�Ȼ������һЩ��������ʹ����ʵ��ʣ���������ͬ����������Բ�ͬ�� ��ʽʵ����Щ�������Ӷ��ʣ������в�ͬ��ʵ�֡����ƶ�һ����������ܣ��� ������ϸ��������������ȥʵ�֡� 23��visitor�����˽ڵ��ˣ�Ҫ��ÿ��mm��һ���ʻ���һ�ſ�Ƭ������ÿ��mm�͵Ļ���Ҫ �������˵��ص㣬ÿ�ſ�ƬҲҪ��ݸ��˵��ص���������һ�����ĸ������������һ� ���ϰ����Ʒ���ϰ���һ��visitor���û����ϰ���mm���ص�ѡһ������Ʒ���ϰ� Ҳ���ÿ�����ص�ѡһ�ſ�����������ɶ��ˣ� ������ģʽ��������ģʽ��Ŀ���Ƿ�װһЩʩ����ij����ݽṹԪ��֮�ϵIJ�����һ���� Щ������Ҫ�ĵĻ������������������ݽṹ���Ա��ֲ��䡣������ģʽ��������ݽ� �����δ����ϵͳ�������ݽṹ�������ڽṹ�ϵIJ���֮�����Ͻ��ѿ���ʹ�ò����� �Ͽ���������ɵ��ݻ���������ģʽʹ�������µIJ�����ĺ����ף���������һ���µķ� �����ࡣ������ģʽ���йص���Ϊ���е�һ�������߶����У����Ƿ�ɢ��һ�����Ľڵ� ���С���ʹ�÷�����ģʽʱ��Ҫ�������ܶ�Ķ�����������ڷ��������У����Ƿŵ� ��������С�������ģʽ���Կ�����ĵȼ��ṹ�������ڲ�ͬ�ĵȼ��ṹ�ij�Ա�ࡣ -- [m[1;31m�� ��Դ:������δ��վ bbs.pku.edu.cn��[FROM: 61.149.149.92][m
Technical Details
Message-ID:
<49Sg3Z$9qV@bbs.pku.edu.cn>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!news.happynet.org!PKUShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: f6cb0,f20facdcf99b40e8,start X-Google-Attributes: gidf6cb0,public X-Google-ArrivalTime: 2003-11-30 01:42:20 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news2.google.com!news.maxwell.syr.edu!newsfeed.media.kyoto-u.ac.jp!news.neu.edu.cn!news.happynet.org!PKU From: haowei@bbs.pku.edu.cn (���¹۷�) Newsgroups: cn.bbs.comp.lang.java Subject: MM�����ģʽ��java��32�����ģʽ��ת�� Date: 30 Nov 2003 09:41:25 GMT Organization: ����δ��վ Message-ID: <49Sg3Z$9qV@bbs.pku.edu.cn> Mime-Version: 1.0 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: 8bit X-Filename: Java/M.1070185139.A Lines: 252