¶¯Ì¬ÓïÑÔÖ®Î壺PythonÓïÑÔÓëÉè¼Æģʽ
Éè¼ÆģʽÊÇÒ»¸ö³éÏó²ã´Î£¬ÃèÊöÁËÔÚÒ»¸öÌض¨µÄ»·¾³ÖÐÓÃÀ´½â¾öÒ»°ãÉè¼ÆÎÊÌâµÄ¶ÔÏóºÍÀàÖ®¼äµÄ½»»¥¹Øϵ£¬ÆäÖ÷ҪĿµÄÊdzä·ÖÀûÓÃÓïÑÔµÄÌØÐÔ£¬Éè¼Æ¿É¸´Óõġ¢Äܹ»ÊÊÓ¦ÐèÇó±ä¸üµÄÈí¼þ[9]¡£Éè¼ÆģʽÊÇÒ»ÖÖÉè¼Æ˼Ï룬ÓïÑÔÊÇʵÏÖ˼ÏëµÄ¹¤¾ß¡£Òò´Ë£¬²»Í¬ÓïÑÔµÄÌØÐÔÓ°ÏìÁËÉè¼ÆģʽµÄʵÏÖ£¬ÓÐЩÓïÑÔ¸üÈÝÒ×ʵÏÖÉè¼Æģʽ£¬¶øÓÐЩÓïÑÔÔò±È½ÏÄÑ¡£GoFÔÚÉè¼ÆģʽһÊéÖÐÑ¡ÓÃÁËÁ½ÖÖÃæÏò¶ÔÏóÓïÑÔ—C++ºÍSmalltalkʵÏÖÈí¼þ¿ª·¢Öг£ÓõÄ23ÖÖÉè¼Æģʽ£¬ÆäÖÐC++ ΪÖ÷£¬SmalltalkΪ¸¨£¬ÖصãÍ»³öÁËÁ½ÖÖÓïÑÔ²»Í¬µÄÓïÑÔÌØÐÔ¶ÔʵÏÖÉè¼ÆģʽµÄÓ°Ïì¡£C++ÓïÑÔµÄÔËÐÐʱ¶à̬ÐԵĻù´¡ÊÇÐ麯Êý»úÖÆ£¬Ö¸Ïò»ùÀàµÄÖ¸Õë¿ÉÒÔÖ¸ÏòËüµÄÈκÎÅÉÉúÀ࣬ÔÚʵÏÖÉè¼Æģʽʱ³ä·ÖÀûÓÃÁËC++ÕâÒ»ÌØÐÔ£¬½áºÏ¼Ì³Ð»úÖÆ£¬½¨Á¢ÀàºÍ¶ÔÏóµÄ²ã´Î¹Øϵ£¬Ê¹C++×î´ó³Ì¶ÈµÄ¾ßÓж¯Ì¬ÌØÐÔ£¬½«°ó¶¨¹Øϵ¾¡¿ÉÄÜÍƳٵ½ÔËÐÐʱȷ¶¨¡£
ÔÚGoFµÄ23ÖÖģʽÖУ¬²¿·ÖÉè¼ÆģʽÊÇרÃÅΪ¾²Ì¬ÓïÑÔÌá³öµÄ£¬ÓÐЩģʽÔÚ¶¯Ì¬ÓïÑÔÖÐÓïÑÔÒ»¼¶¾ÍÌṩֱ½ÓµÄÖ§³Ö£¬ÈçCommandģʽ£¬¶¯Ì¬ÓïÑÔÌṩµÄº¯Êýʽ±à³Ì½«º¯Êý±¾Éí¿´×÷ÊÇÀà¶ÔÏó¡£
Python ÊÇÒ»ÖÖÍêÈ«ÃæÏò¶ÔÏóµÄ¶¯Ì¬ÓïÑÔ£¬ÌṩÁËÓ봫ͳÃæÏò¶ÔÏóÓïÑÔ½ØÈ»²»Í¬µÄ¶ÔÏóÄ£ÐÍ£¬Ó°ÏìÁËÉè¼ÆģʽµÄʵÏÖºÍʹÓá£PythonÖÐÀàÒ²ÊǶÔÏó£¬ÀàºÍÀàµÄ¶ÔÏó¶¼Óпɹ©²Ù×÷µÄÌØÊâÊôÐÔ£¬ÔÚÔËÐÐʱ»¹¿ÉÒÔÐÞ¸ÄÀàµÄ½á¹¹ºÍ¶¨Ò壬ÕâЩÌØÐÔʹPython¾ßÓÐÇ¿´óµÄ“ÄÚÊ¡”ÄÜÁ¦£¬ÀûÓÃÕâÖÖÄÜÁ¦³ÌÐòÔ±¿ÉÒÔ´´½¨¸ß¼¶µÄ¡¢¶¯Ì¬µÄºÍÁé»îµÄÓ¦ÓóÌÐò£¬¿ÉÒÔ¸üÈÝÒ×ʵÏÖÉè¼Æģʽ¡£±¾²¿·ÖÑ¡È¡Á˼¸ÖÖ³£¼ûµÄÉè¼Æģʽ£¬³¢ÊÔÓÃPythonÓïÑÔʵÏÖ£¬²¢ÓëC++µÄʵÏÖ·½Ê½½øÐбȽϣ¬½øÒ»²½ÌåÏÖ¶¯Ì¬ÓïÑÔÖеē¶¯Ì¬ÐÔ”¼°Æä¾ßÌåÓ¦Óá£
5.1 ³éÏ󹤳§£¨Abstract Factory£©
³éÏ󹤳§Ä£Ê½ÌṩÁËÒ»¸ö²»ÐèÒªÖ¸¶¨¾ßÌåÀà¾Í¿ÉÒÔ´´½¨Ò»ÏµÁÐÏ໥¹ØÁª»òÏ໥ÒÀÀµµÄ¶ÔÏóµÄ½Ó¿Ú¡£³éÏ󹤳§¸ôÀëÁ˾ßÌåÀ࣬¿Í»§´úÂëÖ»Ðèͨ¹ý³éÏó½Ó¿Ú´´½¨¶ÔÏ󣬲»ÐèÒª·ÃÎʾßÌåµÄÀà¡£²Î¿¼GoFµÄÉè¼ÆģʽһÊ飬¶ÔÊéÖÐʵÏÖÃÔ¹¬¹¤³§µÄC++´úÂëÓÃPythonʵÏÖÈçÏ£º
class MazeFactory:
def MakeMaze(self):
return Maze()
def MakeWall(self):
return Wall()
def MakeRoom(self, n):
return Room(n)
def MakeDoor(self, r1, r2):
return Door(r1, r2)
ÉÏÊö´úÂ붨ÒåÁËÒ»¸ö¿ÉÒÔ´´½¨Maze¡¢Wall¡¢RoomºÍDoorµÄMazeFactory½Ó¿Ú£¬½ÓÏÂÀ´´´½¨Ò»¸öħ·¨ÃÔ¹¬¹¤³§ EnchantedFactory,EnchantedFactory¼Ì³ÐÓÚMazeFactory£¬²
Ïà¹ØÎĵµ£º
1. µÚ¶þÕ Óï·¨¼°´úÂëÔ¼¶¨
&nb ......
ÔÚÒ»¸öÏîÄ¿ÖÐÐèÒª»ñÈ¡Ëæ»úÊý£¬ËÖªµÀÓöµ½µãÎÊÌ⣺Ëæ»úÊý²»Ëæ»ú¡£ËùÒÔÎÒдÁ˸ö¼òµ¥ÔÐÍ¡£¿´Ïµ½µ×ÊÇɶÎÊÌâ¡£
import os,random,sys,time
while True:
father = os.fork()
if father:
time.sleep(2)
rd = 7
else:
#random.seed()
rd = random.choice([2,3,4,5])
......
(1).µ±"print os.path.dirname(__file__)"ËùÔڽű¾ÊÇÒÔÍêÕû·¾¶±»ÔËÐеģ¬ ÄÇô½«Êä³ö¸Ã½Å±¾ËùÔÚµÄÍêÕû·¾¶£¬±ÈÈ磺
python d:\pythonSrc\test\test.py
&nb ......
python_¸´ÔÓÊý¾ÝÀàÐÍ
pythonÖÐÔÉúµÄ¶ÓÁÐÓÐ2ÖÖ£¬Ò»ÖÖÊÇÆÕͨµÄ¶ÓÁÐ(Queue)£¬Ò»ÖÖ½Ð×öÓÅÏȶÓÁÐ(PriorityQueue)£¬¼´Ð¡µÄÏȳöÁС£
×¢Ò⣺¶ÓÁÐÊÇḬ̈߳²È«µÄ£¬python 3.0ÖÐÖ§³Ö¶à½ø³Ì£¬Ò²ÓÐÀàËƵÄQueue£¬µ«²»ÊÇÕâ¸ö¡£
1Õ»¡¢¶ÓÁС¢¶Ñ
pythonÖÐÔÉúµÄ¶ÓÁÐÓÐ2ÖÖ£¬Ò»ÖÖÊÇÆÕͨµÄ¶ÓÁÐ(Queue)£¬Ò»ÖÖ½Ð×öÓÅÏȶÓÁÐ(PriorityQueu ......
MakoÊÇʲô£¿MokoÊÇPythonдµÄÒ»¸öÄ£°å¿â£¬Python¹ÙÍøpython.orgÓõľÍÊÇËüŶ¡£ÆäËû·Ï»°Ò²¾Í²»ÀÛ׸ÁË£¬Ö±½ÓÀ´µã´úÂ룬·½±ãÔĶÁÓëÁ˽â°Ñ¡£
(Mako¹ÙÍøµØÖ·£ºhttp://www.makotemplates.org/ £¬¿ÉÒÔÏÂÔØ°²×°°ü£¬ÍƼöʹÓÃeasy_install°²×°)
from mako.template import Template
mytemplate = Template("hello world!") ......