1 鍩轟簬Policy鐨凜lass璁捐
1.1 杞歡璁捐鐨勫鏍鋒?/p>
涓撲笟杞歡璁捐甯堜笌鏂版墜鐨勬渶澶т笉鍚屽湪浜庯紝鍓嶈呯煡閬撲粈涔堝彲浠ユ湁鏁堣繍浣滐紝浠涔堜笉鍙互銆備換浣曡璁$粨鏋勪笂鐨勯棶棰橈紝閮芥湁璁稿鍚堥傜殑瑙f硶錛岀劧鑰屽畠浠悇鏈変笉鍚岃鏍煎茍涓斿悇鏈変紭緙虹偣錛屽鐪煎墠鐨勯棶棰樺彲鑳藉悎閫備篃鍙兘涓嶅悎閫傘傜櫧鏉夸笂鍙帴鍙楃殑鏂規(guī)錛屼笉涓瀹氱湡鏈夊疄鐢ㄤ環(huán)鍊箋?/p>
璁捐涓涓蔣浠剁郴緇熷緢鍥伴毦錛屽洜涓哄畠涓嶆柇瑕佹眰浣犲仛鎶夋嫨銆傝岀▼搴忚璁$姽濡備漢鐢燂紝鎶夋嫨鏄洶闅劇殑銆?/p>
1.2 鍏ㄥ姛鑳藉瀷鎺ュ彛鐨勫け璐?/p>
搴炲ぇ鐨刢lasses涓嶈兘瑙嗕負(fù)鎴愬姛錛屽洜涓哄畠浠細(xì)瀵艱嚧娌夐噸鐨勫涔?fàn)璐熻嶘P紝騫朵笖鏈?#8220;闈炲繀瑕佷箣澶ц妯?#8221;鍊懼悜錛屼嬌寰椾唬鐮佽繙姣旀墜宸ュ埗浣滆繕鎱€?/p>
鐞嗘兂涓婏紝涓涓壇濂界殑璁捐搴旇鍦ㄧ紪璇戞湡寮哄埗琛ㄧ幇鍑哄ぇ閮ㄥ垎constraints錛堢害鏉熸潯浠躲佽鑼冿級(jí)銆?/p>
1.3 澶氶噸緇ф壙鏄晳涓栦富錛?/p>
钘夌敱澶氶噸緇ф壙鏉ョ粍鍚堝欏瑰姛鑳斤紝浼?xì)漶旂敓濡備笅闂锛?xì)
a.鍏充簬鎶鏈紙mechanics錛夈傜洰鍓嶅茍娌℃湁涓鎴愪笉鍙樺嵆鍙鐢ㄧ殑浠g爜錛屽彲浠ュ湪鏌愮鍙楁帶鎯呭喌涓嬪皢緇ф壙鑰屾潵鐨刢lasses緇勫悎錛坅ssemble錛夎搗鏉ャ傚ぇ澶氭暟鏃跺欎綘寰楀皬蹇冨崗璋冪戶鎵胯屾潵鐨刢lasses鐨勮繍杞紝璁╁畠浠緱鍒版墍闇鐨勮涓恒?/p>
b.鍏充簬鍨嬪埆淇℃伅錛圱ype information錛夈侭ase classes騫舵病鏈夎凍澶熺殑鍨嬪埆淇℃伅鏉ョ戶緇畬鎴愬畠浠殑宸ヤ綔銆?/p>
c.鍏充簬鐘舵佸鐞嗭紙state manipulation錛夈俠ase classes瀹炰綔涔嬪悇縐嶈涓哄繀欏繪搷浣滅浉鍚岀殑state錛堟暟鎹級(jí)銆傝繖鎰忓懗鐫瀹冧滑蹇呴』铏氱戶鎵夸竴涓寔鏈夎state鐨刡ase class銆傜敱浜庢繪槸鐢眜ser classes緇ф壙library classes錛堣岄潪鍙嶅悜錛夛紝榪欎細(xì)浣胯璁℃洿鍔犲鏉傝屼笖鍙樺緱娌℃湁寮規(guī)с?/p>
1.4 Templates甯︽潵鏇欏厜
templates鏄竴縐嶅緢閫傚悎“緇勫悎鍚勭琛屼負(fù)”鐨勬満鍒訛紝涓昏鍥犱負(fù)瀹冧滑鏄?#8220;渚濊禆浣跨敤鑰呮彁渚涚殑鍨嬪埆淇℃伅”騫朵笖“鍦ㄧ紪璇戞湡鎵嶄駭鐢?#8221;鐨勪唬鐮併?/p>
鍜屼竴鑸殑class涓嶅悓錛宑lass templates鍙互浠ヤ笉鍚岀殑鏂瑰紡瀹氬埗銆傦紙涓句緥鐗瑰寲錛?/p>
鐘規(guī)湁榪涜咃紝瀵逛簬甯︽湁澶氫釜鍙傛暟鐨刢lass templates錛屼綘鍙互閲囩敤partial template specialization錛堝亸鐗瑰寲錛夈傦紙涓句緥錛?/p>
template鐨勭紪璇戞湡鐗規(guī)т互鍙?#8220;鍙簰鐩哥粍鍚?#8221;鐗規(guī)э紝浣垮畠鍦ㄨ璁℃湡闈炲父寮曚漢娉ㄧ洰銆傜劧鑰屼竴鏃︿綘寮濮嬪皾璇曞疄浣滆繖浜涜璁★紝浣犱細(xì)閬亣涓浜涗笉鏄偅涔堟祬鐧界殑闂錛?/p>
a.浣犳棤娉曠壒鍖栫粨鏋勶紝浣犲彧鑳界壒鍖栧叾鎴愬憳鍑芥暟銆?/p>
b.鎴愬憳鍑芥暟鐨勭壒鍖栧茍涓嶈兘“渚濈悊鎵╁紶”銆傦紙榪欓噷鎸囨垚鍛樺嚱鏁頒笉鍏鋒湁鍋忕壒鍖栬涓猴紝cuigang錛?/p>
c.紼嬪簭搴撴挵鍐欒呬笉鑳藉鎻愪緵澶氱瑪緙虹渷鍊箋?/p>
澶氶噸緇ф壙鍜宼emplates涓よ呬簰琛ワ紝濡傛灉鎴戜滑灝唗emplates鍜屽閲嶇戶鎵跨粍鍚堣搗鏉ワ紝灝嗕細(xì)浜х敓闈炲父鍏峰脊鎬х殑璁懼錛坉evice錛夛紝搴旇寰堥傚悎鐢ㄦ潵浜х敓紼嬪簭搴撲腑鐨?#8220;璁捐鍏冪礌”錛坉esign elements錛夈?/p>