!DoANPDtiNH4x+J7@M7-!I(#aH7YcqmTBDL56U;dDFOVxd44|@E}jAMr_!jNEVvx2_@cMaDd0)v2;6eDcC!48Qj26#wJ+rPSXF& zKzP%}V?OiYN^o@IDrf*(O}WGE4fjsKlaY2Uo`~!4ByfTYxV5;RuI5x|q$_wUzhQ%; z%<(|TRZ~9TZ3;a`vIb4Yc8wugwi^jAZy(M1TDhRVLx@Z#<~p$pnqYp|sV3~B)Dbsh zH=d4Lum`tdFEoQ2rb7#OpcT9ua2uY1{q*dg!tHn__@E7D({o=4i(oO>rcj{fiX1^l zO-CD7FZdMlmQt?#P-Vm?gXj&R`yr$S+QX-miV)|F3n!8*^u>q!if7aP 2j!pPiO$E1kaiuu885)M;Ds;){1AZPI=mP!p^?25+F>S* z=UMzNm@ED6R>};*dTZRRTp;LZZKG`cvaaroRM_nBQ())(RSs_xH+2k!nS76@G!URE zhX&DQgTh%WdQ|`XU2}&WT|Rev9gp@I!!qVg5Mcihz6;-t6!;#z8sCfW!}sF{P#!&J zVfV)QoS`tE*0Us)jvz%jD$z>gucw)3$TW@59^V)q+tUX(!yH%$9bmL;QX{k?YAXbF zDG?ePVHrYjJ%YJ)cn$8vU3e|bg?aEFxQPZDUXM4>;^-8O^v5Un*sBeBLZiqCH- s{UT7Y(>c!EkWE0=NZ`U9+Q+9*Dfu)YRGl#iP^? zcca6bN*Q(wy&XtxatE8+8~9gBxRdEN(U|cjm-zh2?(x;B>9*o*TYj-EC(TxzWy>kD zu`vK!>bFw z$uItux`dH$;kWIYL3ID3f~IFPqcNZhzr(Bh$MSZ~fJjvGWLH3%u#+j(zIMNpE2IhI z0Dhlt)dzSl{t)lstMLX$fUBo}{Tw9$w0Z;tOJITE^C5h=wxXKuV;4SzT7)=0%7f%b zuoULgl+;7La&q{xa9CP|df`v;=V-t>d<-AQpWzd*43@(RxP2WyiBI9v_zPGG_rSey zAK2=~agCw6Y*LlGsX6pCSx70Ne5f(-i7;HdMG{*Wxz6Dqcr)kmxA;5!J=_6z!Ya6H z9cAlz_-B+vQOgK-(>zSmRr~~p-_7GKt$Vpyd~OX?Ic5pe*RJUk-P@fps-3 lI=RsdswLdVoCX!YNB7|l_f?;(h%A@{K-(qQPAMkm) zNk2bv4ep*IVTn9Uq=*9U? WIJ9)j{ARhrVdcu(Szm9vo&+iWNF>2`< z*anaHN^E2@sTUF(JPn(KJQRv6as$mO#6cQ}lel0rY=I}>$;+~ekVL{L|Bry51VX_7 z)D?g~3hD(=k6ILRBVCq>i0%L?gROKf+kjSD^!|^`r@%qV=_<|-feTqk7TGleX$V9z zX4I`q^saT0#XKJVQ*pt =pwiA+W(2DFqh?YF33#p2g6K}+(90or2@H= ztRi=jyU9IdHMy7ENA8Cm@I35 ?FG= zncfSp!5gp--iF2N$xCE6d711XuaLd)E_?t7;4pjypHKxoDUG~IBW?-2YS+B@@8cOk zu7t8=di_B!3wurJ-O!X?w`+F&`=-R-EAZDBt-UAoVQ4~c{>%3$YDz~!Q+ms;dG6n{ zM}@xDR-c#u6c8P6pM>V}&cAgo;p-=IoSfo`;pHVQIZeI@m9+1{`=OH77Ah^@$!dQ@ zC@s@-!e2JXITGTQe^c=z`6;AgKYZ9r#s0Rn{%#f75fzshbR{ns%#e_ZgK(&qiucHn zmXM0<+_bO?M#jWkQH7e(gj5`XqrFtTCHw9U!HbL@6(%O(iYhFOHKgLd@NsVyXT5zw zD$=tf6Jc!3)mKz8gc%xA@hKeZrQ+!F$v+BS&`P}<`k4$Si(bYunebUBGaOFPFBUX6 z^S2v9A$wVg86I^FQ;f75nGwvj%t+=sW)zdp6flKM5uAima2mdVFX1aV17E{88<`S% z1xNEKGnOf1#xdoT{-33}mCvW=;5>W_-_f^zlY$O^6Bn#5Dx2&M6norF!Y44J&|JjL zbUV4yz(hB#h`2zY-W{l-_2?YFZlI~Hw@|qDqdZe+4$-?Hy?>|Q79x#;!V*WT+tWes zpL#3cX}*WA%4qe_yS+3(lcv+p1-W{6TeHv0`2sm9nRZRCYi7_D@-JCv&&%Y}va?)S z4cV@SVcE`HXC~)JZ_LP~UmmiDXJlo&va-0`jBIBEtxZ~IW;fQjD}Ans{I9H`=^-k^ z*wLg;q@o`?lZ1CCnzSCz3?1WEa^ )ilidF$R-*n8Y~(jN*1Mx z(nT4fEK!MQjA*QAoTx%nDXJ3Hh$e{YL^DLUh*pYT799{1u|eElY!eR VGXC&W9&Pl$N{4V)Ziljs;l1ikkR4(l&EtUqQtE64hZPGo`SEa8@_etND zzAHU0JuCfI`n~ig=`Yd?td!NWacn$mVXtD7*a7SyHk-|1i`lX4IJSbVW^37r>?GE~ zHn2X{&j#69YzI4+UBceVE@hXoYuTsRt?aYx4t6K|0=tiWhkcLT&mLe8v7fW2*)Q3z z*|Y3<_7eN249OUoSSFR}Wdmh{WkY1ivQ$~REJKzh%a-NJ#>pyVm9i>XjckIfPBvLK zMK(=#gDfapAiH1owCoMpG1<>@nLJTGRGunNmuJd{%X8%U@-gzU@^SJCd8K@+yg}}g zH_BV&t#Y4yhJ22Ev3!|)g?y#_Zux5Yeewt7>*P<%pOf#9@09PB?~(77za~E_KOsM_ zzzRkoR!9{xg+ifHs1>maonnAukm72^P(_L&O)*T7sTi)vQRFGg6^)9Z;x@%Sip`4m z6(<$v6_*r$Dv^>=ij`7js&a(#I%U4HNLivBqbyfWRyveUC8umsdX;TTzcQ$tsq9kj zRDP)ZSb0qOneubxx5__NNJUg4l|;p= Ic |UZ6tg_0E9Tjl zS7VOE{223d%%O#axQ{L!GM5QRk}*)y3-3>QZ%?x=!s>yVWh~R<%z(TfJKSpn8}3 zP4!#qchv8xKUROLKCV8YKCk{x{e$`^4Wm(NVl`IH)tXGra7~UTPxG_p&scqITx@D= zPOLMwId)a-3$goR_s4!3dp!0;?8(@(u|LHAszq8xE7nT2R_zdNrgpeCN1LY|p)J;q z)|P6^wB_3I+B$86wpF`Od#CmR?L*o}w4K_u+RfT0v`=ZD(QeZ|r#-0sUZ>Y3>xS#H zb-B6{U8$~2SD~xaRp}aa&AN8oY~38)Jl##Y`MRaL+jV#7R_X56b?G+fHtII%p3*&| z+opR?w_Ep)Zolq;?vU=kx=(b+bf4+Y=zh`ts=J`OsF&*HdZk{ikJan+3HpBe{(75! zpgvQdtG`Bnt-e5Cq%YBr(O2o~_09TLy-z _BLzQ8g;RZv4!DVPP%r(q2++>( YD-;FY(!l*K;jf0F=8;2TGjA_PP z;|SwO<0xaPF<_i+>@sdL?l&Gb{%#VRSd-kOG{u>Qno>+@reUT`({NLcDbF;*G}3gv zsoGR)nrND2sy9tF*-Z|U)5Mu>G~H*~YI@mp#B|0iGF#1A<^prEd9-<~d7QbzTyJhR zPd9taUUQq-Zw{L0n-`cDnirdIHQ#1lZob|8p!s3*8go}%L!2*eMqD7Sy-!A;QGE*f z6!j^Im&EJh4e_S gKN){I;o*c$3EL8$OW2XHGvS4V*Am`H*q88j!n+CY zCmc;Uk#IiY*M#2^E+zbt@Rx 9jm<*=~8+@`~kE%j=dmE&DA8 zEQc&dEFW1uww$t@vs|nLl1wb(k^T56qW zZL|igi>ynmORdYSE37N6cUteV-ebMjy2-l5`lR(~>sITt*6r5kt-Gu*T6bIbSr1yz zS$|8^B-#@55~~th5@#iDP28EdJMoRg4-yX~9!flt_*vq)#BUS7Py8|Q=fqzVe@nd7 aSJhYB*BrWK;_vQ4{}`X}H~hPApZ^1Cl?uTC diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/CommonTool.h" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/CommonTool.h" index 9abc836..29dc685 100644 --- "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/CommonTool.h" +++ "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/CommonTool.h" @@ -9,7 +9,7 @@ #import
typedef NS_ENUM(NSInteger, CalculateType){ - calcuteTypeAdd, + calcuteTypeAdd = 0, calcuteTypeMinus, calcuteTypdeMultipy, calcuteTypeDivide diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculate.h" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculate.h" index 41a665e..686c5ae 100644 --- "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculate.h" +++ "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculate.h" @@ -8,9 +8,13 @@ #import #import +/** + * 协议声明出来的是方法,虽然看起来是属性,其实只有 getter、setter 这两个方法,内部是没有实例变量的,并且你不能去重定义它,只能在 getter、setter 里处理 + */ @protocol HCDCalculate @property(nonatomic)CGFloat numberA; @property(nonatomic)CGFloat numberB; +@property(nonatomic,strong)NSString *test; -(CGFloat)calculate; @end diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculateAdd.m" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculateAdd.m" index 7f77064..cb9dd4b 100644 --- "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculateAdd.m" +++ "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalculateAdd.m" @@ -8,9 +8,15 @@ #import "HCDCalculateAdd.h" @implementation HCDCalculateAdd + +/** + * 下面这两句话会自动生成实现的协议的属性对应的成员变量。如果没有这两句话,则系统会奔溃 + */ @synthesize numberA = _numberA; @synthesize numberB = _numberB; +@synthesize test = _test; -(CGFloat)calculate{ + NSLog(@"%@",_test); return self.numberA + self.numberB; } @end diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.h" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.h" index ce995a5..50379bf 100644 --- "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.h" +++ "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.h" @@ -8,8 +8,10 @@ #import #import "HCDCalculate.h" -#import "CommonTool.h" + + +@class CommonTool; @interface HCDCalcuteFactory : NSObject -+(id )createCalcute:(CalculateType)calculatetype; ++(id )createCalcute:(NSString *)calculatetype; @end diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.m" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.m" index 965b776..aa0cdf8 100644 --- "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.m" +++ "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/HCDCalcuteFactory.m" @@ -11,11 +11,17 @@ #import "HCDCalculateDivide.h" #import "HCDCalculateMinus.h" #import "HCDCalcuteMultiply.h" +#import "CommonTool.h" @implementation HCDCalcuteFactory -+(id )createCalcute:(CalculateType)calculatetype{ - switch (calculatetype) { ++(id )createCalcute:(NSString *)calculatetype{ + + NSArray *calculateArray = @[@"+",@"-",@"*",@"/"]; + CalculateType calType = [calculateArray indexOfObject:calculatetype]; + + + switch (calType) { case calcuteTypeAdd: return [[HCDCalculateAdd alloc]init]; break; diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/ViewController.m" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/ViewController.m" index 7a1e4aa..da2fd74 100644 --- "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/ViewController.m" +++ "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/ViewController.m" @@ -7,8 +7,6 @@ // #import "ViewController.h" -#import "CommonTool.h" -#import "HCDCalculate.h" #import "HCDCalcuteFactory.h" @interface ViewController () @property (weak, nonatomic) IBOutlet UITextField *numberA; @@ -29,15 +27,7 @@ - (void)viewDidLoad { - (IBAction)calculate:(id)sender { id cal; - if ([self.countTextField.text isEqualToString:@"+"]) { - cal =[HCDCalcuteFactory createCalcute:calcuteTypeAdd]; - }else if([self.countTextField.text isEqualToString:@"-"]){ - cal = [HCDCalcuteFactory createCalcute:calcuteTypeMinus]; - }else if ([self.countTextField.text isEqualToString:@"*"]) { - cal =[HCDCalcuteFactory createCalcute:calcuteTypdeMultipy]; - }else if([self.countTextField.text isEqualToString:@"/"]){ - cal = [HCDCalcuteFactory createCalcute:calcuteTypeDivide]; - } + cal =[HCDCalcuteFactory createCalcute:self.countTextField.text]; cal.numberA = [self.numberA.text floatValue]; cal.numberB = [self.numberB.text floatValue]; CGFloat result = [cal calculate]; diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217.xcodeproj/project.xcworkspace/xcuserdata/yifan.xcuserdatad/UserInterfaceState.xcuserstate" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217.xcodeproj/project.xcworkspace/xcuserdata/yifan.xcuserdatad/UserInterfaceState.xcuserstate" index c19db37a6cf602e1147c1032357a2f41452679b3..941e5b5f88ed871198d6cf37284f9622825b5a53 100644 GIT binary patch literal 13913 zcmd5?cYKpo_rK#wnzl)^)1)n>*@2{c146f;EGaFUlC}?RplwQ$0%duF3{esHMrlD5 z_rzCGaZgl+;2!U*BJMp9#NT=HG;M?Zy{~`Le%j=D?!Di8?z!ijd(OG1v9rw=4CUm! zi7+CFA`VHAl$*>=nQ2?f2ZBC-$4r~QaS`7X3eK{515K?ycs<<~@^@+w-mvXnH7-MO zNQSgXhxEvaTxbLuiQLG8GEo-FM){}|ork8OS~MNip?Wj}%|x@%Y%~YWMe|S)g-{n- zik6|}s2i<7E72;n4qb+BKsTZubQ`)I?Lv2>`_UHk0NRZnK~JD3(KF};^eTD-9YSxR z5739`Q}h}74t wU602|;9){ELaGZh7*n+LthMhPQ=i_2L z8jr(exC&R}8axqC!P9U(o`IWiGv@I^+=7ERguC!kybQ0v42SUsd@0_7FT _6a@5WE!z4$5o5`G!Kg7@RY_yhbQ{s@1LkKym}5BNv?6QP77 z5+WsWL`LF?lBkG*B$MGJgSf~DGLqzwA~J?lknv<9nMP)k1;k4l$s)3tw2=_$B1_2{ zaz0@sOs*$4kQ>QOWGlIu+(NdI9@0y;lU?Kv@*H`Iyi8sruakr15P6HdP2MLTkbjf^ zkfY>t@)h}-d{2HLzmQ+aALIm$qcR##6R3eEQzJD|J9SVeb iW=TawVP-*bZdGPU zRY759bzyE{ab-nGK~-*PgGx7{s(OY$usGQ1ZQ`r^O F$t5hI3{E9EP*B7hK8dIm_HR+kqz0IoGE~kc&22jtd2F!7tnnj&HiOI0dG6s zpfbaYDS>7_z&H2LI^Ek?>F)>y{B3QZo((F`V3Neq1MPJkz9n7!gl3@9x6sE28dSrf zdwEj`lz3>w2G!WXfHAW* z;;hYe(7pY#>(7+oE%R^X<^Cg z)dwTnnuGFsP%1Dh=^!dVg{TM>&lY#I19&x4{K^Mm ET3Q4lh|(uc=Hr8c 79cNbL`|p}@n|7xVZ&HD8_qJAnOT^X*_eG7@}Wh**(vbbf&8cw z*_eZk0lwzK??T2{7``{nZi~!0J-~zD82ULl$=}R3)B L~vP z?~5>Z^u2)eCR&Zwp!2~DF%(8?(FF}EO~CIDiR=@WGFc#BmE6L2__~53VFEk( UE&;nz!zOE%v8cgsW5Y?&|!2rx&r3A5?zI^M%SQg z(RFAF2tw5SP4qWKSTujY%!o1sJ=(p#j)B*LY3OL?mrq$39Xrs*3fM?i%to->237XV zCSXz)Y?LVTK I(3pfw&3fZAV+t&FB{9X4x!{B^^S&Xgg58 z1Ko;t&K{VnE wNECxp{yTuo3?P?Sr!7yaP?u7V2M`n#b zkm;LJo1JH`F1D9f*-MLrFQtX{@ _-P0R8AnOUle2PZ>+BO0tnFbPrHlDeiI#TP+9-M487=x zfc{UqM(y<5=w0OKLGQ4$deD1pENf~|*+pa1XXF1r8yE%n2>n|C_?V6BLH}W8tZDir zQ1fW(QS>F!Y)7A?W9SQ3&MH{tcJviU_cyExq`O&gwnoHE2c|s4*TPBJ(GvMu Sy2btaN!YKSS+!sRM4#|C^q1h8{f>^KKhOzu z68(uzu^M(Z8_y=NbJ)3T;%yjVj0vV_2bN$do5UuwnXCbf!~*7JO>>2#vC13r3dVGf zNK=GbaB2QOX@nyq#(qtX_;jYI4h+$j8f~jy4u)HZy#|cdoM;=UKN!-^uEsWBQ=e}O z-dtu=X3*aiXyW^pjMdnHG&`^cYq1XN*%UUFoyVr_z{%K%>^OzhvgzQw)C>DzoGKnU z(HW*kjSKk2r#1CCa+RfEP9*FwNW1!p|G;Yv#+_+9m{pUBaH(Pa9O*w`;MZtmS)t zs@_^POEr6CUMcu}MTPmRWiwY67v_61a=_^WClA}PWA5bIeu?Pr#dcIO=s?0QJVHE> z*nBoiJU=2bfV1E k+=V9|CwRbZ0Hg<8-AJe~0@ z2{dNqO7N(2BF;5<*TC=+aIT}`G84~3jvaUwo{i_=xvYh?G9O#C1JB0|cmejZ#cT;% z&DOA{nG^YieO{>^3{<}})bC8q7R`v@ZOxkIYiW&ij!x5x+l6U-coANV+gKZGXC2JH z16=DVSa1XDfZ?5j^VgtCtp^hztPP?EewpBC1*dtJ)qC3_GL{nC+9zSPP5y|l6Vn(O z?hk;w7i 8AC88yUoiJ%LrEwXJn%G=g&Jn%}q8tffj#R5He4GRjiso^Z^U%B9$ z1jT`C@%mnT0ba*KtedThE_x%r2x)rpg?JO|VoQ7R#rP7oj4fv~<^jxrh6_Gb{d9ra zN#2$YU#P2@?`O8PEc`JNexjIH;%j0suf^A~6>KG&F~D;e^RLJlQDU~@o9Fk-OC(0x zj<*U?QWSC>X!_pl588Vmn1^ya2dhwU|D|Q9DvKN1Yzhzgk zt0Sz7+RXl_4?Or7)6(CN)$a%YgD%nC`Wc@ H?bY;R?y5{@CPy> N^%R2I{)NR%Qo%3u2m0g?Mu?Dtb6#6HNjQkRf~TYP zEtMn?InwlyM7FhuDA>(W*$@p$c~C%#c2yHChy>BFTY89&fpEuo>Je9h7)dH@8oGz1 zfHU9IOVZ#=FY94VQ==$mVuKzeg;?SBcHv73e1RS_gP{Pp5G~!n!~tWRS6J%FC@ISC zx5dOwGW#jcVmsN4C~_{z@29VT-PW&sq?nXK1G 42lMnqsEDd7 zsU+3?bJVaq2IiPR&WTZMGKow9h=} %#iSCP zBE$PzCqSqT`GOG0=Aa&a)f7m9*P$S!LIUtV8 U%-CAo@R4d=HV`1L%?4P#jtCx)>pjK_rWSzt0mqfr5yy|~lw>j(uS z=|}MSLElsQ(k_D>>L7%r;OYQ#lST6l92K*P6?`j13I4!bF@IUx)XED dJ*@L^h<4RzcXZS_cz)AVTPC4XUfpBtjt}2 X#8x-#XJso#t ;&{)16kI?$T z87cz(4%bPFg+$2d={ZU$MRqD-AF+?YbNV-H64GQ Mr@t$Wq78)gd0puEyTz{< -5i6iEAv5@T&-dzkz+^ z>7pUA7Spx}zfQ1|gZTB}jQ3ae^FF$?AYDErL^oXl5UbcJ_7|%QW7J2_x91$*8^I_j z5$Gw%FCI+KTDoyaunXxXfu1lXVN3@osyz7MwN#`iXJAp6(W{39xrSZ~AlHYnBn%06 zpee48rYl#3Zi%3X{4UImWQ3y&yoL5a xc`95^bqWr`@eUr@HQ>3<>9(s z*c`YR`|rKQIU x0c%#ZXZVILe}?2PP#wM+y;=VjDY zbU^_@bRYkqr-mB;7l$~A5=VxyJB&S`v1KX|VA`l5sNmwb#34{PIj7)2?Xto+JB)Jx zW!(2M>p942Q6i_~^upapGbGKXsLA5SXsIG5l#@tDkNIaMig(A!l&X}}G@IR>TTt9r zEEb=TC|4vwflwb)#rh$*Y$^}I9e-n2hz~+(mYmU9wOvh3JP*mvLuyTe)?gZ |7vf=!5vpp18n%iYq@pYV;PUdL +buJW%&VkIA zA1#5bSQix0Y=Ekk>(Nb6(y ;ve>n^Sg zQe5{yifcC{y6z=+Lvrh-FdhpTu6>Z r)u8B_n RMG*xfNZqu8PNDPZ0;tJt zrVD8+T}0dHO1c`Va>Mijx}I*No9M;#2B^XPhEu{EZQMq#m%Ed@hr5q^fZM~pz`en} z#l6pc#{DRXlf+9BB?^gBqLyeSdP%axBuSOzNb)2Fk|IfoWRzr#WUQo2QX#35)JUdD zcu7#QU9wy9ndC>QM5>c!O3S3>(#cY 9=uQoHK58+~l~1xKP}sal7K~jJrGT-njeYUWq#t z_io%#S-eayOO}~rsj^|R;WD$VNH#$>Q?^*PQMO5Tv23$!i|lgQv$B1%L$brNw`A|g z-jf}Z{UkdsJ0bg1_E)?nUKc+seoTCM{DS!Qcz^to_+b2+_>1E=$8U+hJpQKmUGWdc z?~Q*t{@M8F6XqwhB&<$Yn{Zu1Pr|;00|_S+^@+)ero`05VTq2!5sB`^%*3L^1&Ms( zmc;84pG 52@6MPXAo z6#0sAirI<|#YKwS6%Q%)D?U&hRUA`%srXv)t>QPuam5M6pNhYda8g=QWzu;`-AQYc zHYZ)0bZyeMq`Q+INP02p<)l}WUQ2o-=|IxEN&imzB 29OgTxpRC$5&V&%2U>y ok?^52cd`!7t`Ihoy z vS0IaDsyNR>yGrOHv2s?Jl*RV`EnRjX8MR7|y2wNABJ zwMBKg>Ppqss%upbs}8DuQ75UB)kbxS+NmC?_NcSfx$1oN+3Kn4I`s_oEcG09tGZq7 zS1(a7RWDbsP_I&7q~5CDslHeJxcX`Jv+C#7uc-H_Usvx}zpMU4{k8gphG>);jYg+Q z)|fP@nrzJ&%~_hUnljBK%~Z`aO`T?jW|pR1vsANEvs!b$Cak$sbEW2L&9$1FG&gIu zX?itxX&%-*qj^#DvgTFIe$7G6o0=n ;+Hu-4?F4PTc8+$Qwn5vhU8rr J z_qreToL;Th=?!|5K2<+V@6s3QN9o7t$LcHf)%vsb6ZGfkXXxkZ=j#{fd3}rCr(diO z=`Yq_r@v9ZRliN&tKXr&U;mJPxBgN69{m&gSM;yx-_Re_zo|c>|3rUOe@y?C{u}*w z`jh&<4A{UKqz0KmZ!j2=4JL!bFv8$AWEpY{d4|!33PY8l#xUM+j$wvju3^4mfq^%) z7<`7shBbzbhN}$M8*VggHS`*G7 %OwDLFNHSn}xPdC8}YiN*}0#b`4+j4tCyqsN$K%rWK}3yc$t=Ncy&rx>Rh z>x?svbByzi3yh7%X5&iZb;bvbdyPj-@upN$k!h-_#S}6vGj*F*nbw$?X_slY={3_E zrURx!ro*PUOz)W9GkswC$n W(WRJEtSR;s zXUbD4ucf?^av hjbTsjJd-Y34L*nmx^#wl{5G+Usfi(+&<>JZ$-}6~k5y zTa#``x2D_Eo#`XepH6>0eSiAF^f!mM4euVla`@`u=Vur*>>19C5gG1`=Q0jt9LhMH z@s` _3c@fL$+xCNX{i{0Y1 $@KwpgyS++w-Q^04I*%cGV(mM1JPSYEQcV%cYT-Ll{Ej^$I!H vsVR-M&gHCj`wY1VYB)0$%~wbodtSkJT8TI;MctP8A-)@JKMYpZpUHE3OB zU2na@dZTr#^%iT7b-VR0>pj-{tPfZpvhKF-wZ3FMZ2i#svGqUJPpwC--&udK{$%~d z`n&ZH8@0)8dYi@Owq@F~ZMn95+Zfw8TZOI4R%07)JI^-T)?(|l1#BVPQrmJ{*tX8L z(YDEUiS1I`wYF`xUAEn}M{SSW_S&AYJ!d;;`@r_4?S$==9osp3oISy=u&eA^yUp&j zkFdM#S@v9efgS2z?W670_NjKCo!PIp-(i2o{+|7NN3Ns9G0ri;QSX@NSm0=KEOfLx zIvqjBQpa+~osJhAA32UWescWkIPN&<_{&M0oKx*II#ZqLPP5bHbUU-0xz2p&T<1m3 z-Ojzv7n}#2A38sC9&>)>{MPx4^LOV7=P4I*#k&$+YFE0;?sB=@t}IuftHd?hHP%(; zn&6t~n&E18Ep~OdmbgN$m990euxp)bgKLZH8rLnZ+uR1X$!&4xxQpFm-RHVzy63p( zyS?sacZ++GdzpKMdzJfq_geQl_XhWc?z`Ow-6uT`PqwGTQ|6iAndqtW%=LIZYdz~c zn?09#uJByt+3I<~^N?q^=TXld&l8@#o~J#}dY<>Z=y}<5#Phc2UC#%ZOEWLb+?;u3 Up9>8oBEk OV delta 5030 zcmZ`+34Bw<)<0*Go7|h5r1##e6@fxaD_EA6tsnx0P(+|CrECRiXhR9Kw4`CD 1xsVS9FbN8w z2#R4A%!UxmgJ)qGEQgJ-2{ywPD1|a8haFG_d*Ky$0}jEPa2SrmDL4%m;0j!akKkkY zANU%6grDF~_zwzbKqEH9M%Wl*Lf8bGVl2jCGmOVXY>92L9d^ZT*d0@`7Y@VWI08pv z7LLNvI0mzEBIaWOPQpSg!pRuG*;s<}aVb8FD{wWwh-+~ZZpL!lj+OW_zJjmfK|GG{ z;0Zj5r|>df!K?T_et_5UBm5Xcx9|)68h^x}@K5{?LuO=VW@irOWQ|y37Q-H6$t;C+ zWj$CLdz$rS1K1EYoQ-17u&Hbso6csinQRuD%}UrD7Gew8GPahz#MZGbtdy0p*V!BF z5POpyW^b`0>?k|N-e$+yJM08I$xgAenQ`G$tcz|J#fJ5|c|tUGqJ#s>bcn{Jq?E*% zq&DHOepIL@#P5J7pbI<+U7;Ivhg9f63aO-#jqKzgC%JZj2jU wYb<{9P~~K_R94K3j@XdyfX@?1hW;TkEd70_`+%F-l_gPFMpE7 zJBE12_VbSQL zk3T2qFP!8J%qZtQDYd}_VcOqZ&ET$@QEY7Y!kBtaN?^{I^o;&fg5I(DzSKa#JEH JZtC_--IUFQMESv;MGX{`{4j}q?AZwKW}uTgn{*p#j6mi+3UC9Xx;3`=n0Cg z_45v#fcVnV$mZK;&1#bv)21XbW>#|hPKhxo9om+Z)Y_eavvm&6QP&3!-h+SC1$&9Q zQ9|vAtMCDT5aI!*l)*LX{@}?C_%Jf$CZ(2DN6qK{e?fW+K8@H`gY+}%NeMN8`~q?+ z;7hm-|0WNm(NlGxgm2(ZeISkDB)!Xt*(-viqVCm5s*UhxxL4m4dcg1GqTUh9W%Q8c zUx@WBk)e+I(9;~~x16yd6j6itDwNQKGMdqXR*XUgRq99mDV+w;KpI4YDT9VoK{K>- zN$`LN-58CJU;~btOfCv;{+df`=tbHb*$gEj0UqDjDS3ImK!nR&G3vP8zcAOAox!yu z*Bi(k9X@859XB$+T0ZK*2otb5PaQr+L(8xQ4db|E=GNV@6}E|Vx2EA`m_#EeVMu?k zf71P&V0-KYS_O8%j+jCtDT_u`U}qj|7aGk24Dl6DHhYI)4@fS I9pWpo zH$H`Z@M-Le{jfh}(=+6yv6Mr( q4v)Y#rF~M#&>H-H zfW;UD8K>Y>oQBhJ2F?UexPv%Ynog5x78Q{@yh`lY1Lr_;1%{AtE(K@`P34Qh1-Ot) z<4s(QOGfs|^-T);$N7DM%s!KHebafQ#S~QZ)l!4YaCtaYYOE{A=fd5jrX%hTJ;0N- zgi?62g7>{)xVmdvq^lk|ui{HQ$aT0LH{iys+`^nG1$?^9!Tm-A{RKW=848MM2F)Z0 zhZ-*pr<)uNaSN7mb>kZCxo_RCFvlBF({d~elc}K|D{yPL%#^6dZIHqnkB2F`MF@BB ziK=iT?!xuM(lc6(^%ncG_; 8rsx6D^3lRQ=|E-bf`ynyL^tB-|f!5v+iHSTUCNUGeL>uZtVip!s>gyL% znMUhqJ;jcw)0Eim{%7h>$z1G_hsHEukJ3ikR9m>}Yg26ZQEyj|eV;X9O<63+EDkra zc*gUp1qus;{la<1o-vgiXj^FKHP)Q9;3ki=MAnj<#j!T{F-wBX@Hu08sFJFvv>t_7 zTh^|I!nB>rYUo=HOV)|gmvv@Our5?i6}0tl^sQlQEu;T0Em`ksT5fxomV=@m;$;m3 zABva_ (V!p5>3mdku>9Lr +FjWESAaZ^rR{kgw%UIzkudJ b{U&b zuhrFJwumi>JjkSyGPaanfAC;ATNUBh-<6oHX5nfjeuEBGD{(?>>fwkEr_8C-;aZHY zXB+vMfo-6}#xk~v-r}l#GA?E?D`&ewt6~*wE8E7lvr4vuRk59H7agTz^fn!*cjyG2 zq*HXdioMK>C0`ud$M&-W>{U+gGkl?u#l1^s=^UNszhc8rG;3wf@)r;G75isKj(uT& zvjw`8R_(&yH)|Nz$&-}YE6J18vPaLJ?OV2M-z&LgCr>+1%l63~+H_3g|80AA2q(om zLLC#6Yc}#U PJYQ<%o@GSRF7Ysl|1X?*V|@cYUvepd;xxokeat%Me{ z7x{ICXN_&<7nX9Kp6%=)yP*?xEp!ugi*@C?Bf8VNv%2%T_jK2EpXk2Q{h<3*4| M>R3E30*FUCjp- U-*Y>3i$@== j&ru=_lw*^h@=J^cVDh2v*@y zp^?y7NEW&YJp_-?Tj&!K`U=^?c%eWj6ebJB0tpL+#lliyg|JdsExaI<3kQYQgk!?H z!Uw`l;Y;Bg;XC1b;b-Aj;WyzAgWg~ 3!*%bX^MFl>RB*F^MLpsii5!lx~`AT4-8n+GHv -;;03UzpMC2$_@21I$_GY32py=giNWSDC}+HRjFc zQggX^t9iS5hxvs0EAu@|jHS6H+0x09Zt+@*Eb}c}EM=Ao%Qj1;rONW5<#Wr|mTxV0 zEO#wGTEQw?RjbYFu)3_#)~41}Yns((4OoNLsn+S%h1SK^rPgKE7p)c6z1Bn4&|&Kl z>#?ZeQQoL&QM02~M{S5Y9d$nH7p1Y1sI*hMD?JpClBNt$GL?}^jxtUeuS`(pDl3$= z$~t9(vPs#Z>`- JW9B zx>8-Iu2(mzRqF1Lx<}oo9#9XeXVvrSb@fB_U+OLOQ}uK8TlEL^C-oQgo+fA}&8%59 zo9575TC~ s4Ho}%= z8*Q6v3)vRgR@)BRj@wSyPT9`b&e}e*-LidZ``q@0?Y8Z%?Vjy-+n=_->|nRpqwK2P zW{ >m3ddxkyJKFnTZ57>kDsrKpix%LJ2MfN53RU!Lf``h-f z>_0l99gQ3w#~??pW1M5WV}c{!G09Qn2sna{sg9+NWsc_@&pTE*!j3hLwT^X;4USEY zR~?rfUpwwOqnu5gU7SOm1 WT@zgeu4%4$t_`kA*HPD1*KIerqus6Ch3={D68B>F oN_W`3#=X{E>aK8ab62_#xsSR}R-agavHRbbm6}HFr~CB(0z=ERYXATM diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.h" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.h" index fffbcde..be4ef3e 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.h" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.h" @@ -9,5 +9,5 @@ #import #import "HCDCashBase.h" @interface HCDCaseReturn : NSObject --(instancetype)initWithMoneyCondition:(CGFloat)moneyCondition moneyReturn:(CGFloat)moneyReturn; +-(instancetype)initWithMoneyReturn:(CGFloat)moneyReturn; @end diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.m" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.m" index 4d4b98a..cee2874 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.m" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCaseReturn.m" @@ -9,20 +9,21 @@ #import "HCDCaseReturn.h" @interface HCDCaseReturn () -@property(nonatomic)CGFloat moneyCondition; + @property(nonatomic)CGFloat moneyReturn; @end @implementation HCDCaseReturn --(instancetype)initWithMoneyCondition:(CGFloat)moneyCondition moneyReturn:(CGFloat)moneyReturn{ +//@synthesize money = _money; + +-(instancetype)initWithMoneyReturn:(CGFloat)moneyReturn{ self = [super init]; if (self) { - _moneyCondition = moneyCondition; _moneyReturn = moneyReturn; } return self; } -(CGFloat)acceptCash:(CGFloat)cash{ - return self.moneyCondition - self.moneyReturn; + return cash - self.moneyReturn; } @end diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashBase.h" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashBase.h" index 92d7575..d483164 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashBase.h" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashBase.h" @@ -9,5 +9,6 @@ #import #import @protocol HCDCashBase +//@property(nonatomic,assign)CGFloat money; -(CGFloat)acceptCash:(CGFloat)cash; @end diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.h" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.h" index a2ff907..1054dd5 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.h" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.h" @@ -8,7 +8,17 @@ #import #import "HCDCashBase.h" + + +typedef NS_ENUM(NSInteger, HCDCashType){ + CashTypeNormal = 0, + CashTypeRobate, + CashTypeReturn +}; + + @interface HCDCashContext : NSObject -(instancetype)initWithCashSuper:(id )cashBase; +-(instancetype)initWithCashType:(HCDCashType)type; -(CGFloat)getResult:(CGFloat)money; @end diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.m" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.m" index a97981d..7ba381b 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.m" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashContext.m" @@ -7,7 +7,9 @@ // #import "HCDCashContext.h" - +#import "HCDCaseReturn.h" +#import "HCDCashNormal.h" +#import "HCDCashRobate.h" @interface HCDCashContext() @property(strong,nonatomic) id cashSuper; @end @@ -20,6 +22,23 @@ -(instancetype)initWithCashSuper:(id )cashBase{ } return self; } + +-(instancetype)initWithCashType:(HCDCashType)type{ + self = [super init]; + if (self) { + if (type == CashTypeNormal) { + self.cashSuper = [[HCDCashNormal alloc]init]; + // self.cashSuper.money = money; + }else if(type == CashTypeRobate){ + self.cashSuper = [[HCDCashRobate alloc]initWithMoneyRebate:0.8]; + // self.cashSuper.money = money; + }else if(type == CashTypeReturn){ + self.cashSuper = [[HCDCaseReturn alloc]initWithMoneyReturn:5]; + } + } + return self; +} + -(CGFloat)getResult:(CGFloat)money{ return [self.cashSuper acceptCash:money]; } diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashNormal.m" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashNormal.m" index 57145ec..fb5464e 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashNormal.m" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashNormal.m" @@ -9,6 +9,9 @@ #import "HCDCashNormal.h" @implementation HCDCashNormal + +//@synthesize money = _money; + -(CGFloat)acceptCash:(CGFloat)cash{ return cash; } diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashRobate.m" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashRobate.m" index d6e729b..64a2d0c 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashRobate.m" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/HCDCashRobate.m" @@ -13,6 +13,7 @@ @interface HCDCashRobate () @end @implementation HCDCashRobate +//@synthesize money = _money; -(instancetype)initWithMoneyRebate:(CGFloat)moneyRebate{ self = [super init]; if (self) { diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/ViewController.m" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/ViewController.m" index c9606b9..d7b8ebc 100644 --- "a/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/ViewController.m" +++ "b/2\347\255\226\347\225\245\346\250\241\345\274\217/2\347\255\226\347\225\245\346\250\241\345\274\217/ViewController.m" @@ -20,13 +20,17 @@ @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; - HCDCashRobate *robate = [[HCDCashRobate alloc]initWithMoneyRebate:0.8]; - HCDCashContext *context = [[HCDCashContext alloc]initWithCashSuper:robate]; + + + HCDCashContext *context = [[HCDCashContext alloc]initWithCashType:CashTypeNormal]; NSLog(@"结果是%f",[context getResult:100]); + + + HCDCashContext *contextReturn = [[HCDCashContext alloc]initWithCashType:CashTypeReturn]; + NSLog(@"结果是%f",[contextReturn getResult:100]); - HCDCaseReturn *cashReturn = [[HCDCaseReturn alloc]initWithMoneyCondition:300 moneyReturn:100]; - HCDCashContext *contextReturn = [[HCDCashContext alloc]initWithCashSuper:cashReturn]; - NSLog(@"结果是%f",[contextReturn getResult:0]); + HCDCashContext *contextRobate = [[HCDCashContext alloc]initWithCashType:CashTypeRobate]; + NSLog(@"结果是%f",[contextRobate getResult:100]); } - (void)didReceiveMemoryWarning { From 5af8bab900f72d685124b960b1b467c7d21e8dd2 Mon Sep 17 00:00:00 2001 From: huangchengdu <394042583@qq.com> Date: Thu, 16 Jun 2016 11:33:47 +0800 Subject: [PATCH 04/27] push --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7640dfd..aab7a89 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ 设计模式的基本原则非常重要,只要真正深入地理解了设计原则,很多设计模式其实就是原则的应用而已,或许在不知不觉中就在使用设计模式了: - 单一职责原则(SRP),就一个类而言,应该仅有一个引起它变化的原因。 + 单一职责原则(SRP),就一个类而言,只做一件事。 开放-封闭原则(OCP),是说软件实体(类、模块、函数等等)应该可以拓展,但是不可修改。 依赖倒转原则(DIP),A. 高层模块不应该依赖低层模块,两个都应该依赖抽象。B. 抽象不应该依赖细节,细节应该依赖抽象。 里氏代换原则(LSP),子类型必须能够替换掉它们的父类型。 From 9d27efb04f85001728b3743ed1479dfab9cf6f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=88=90=E9=83=BD?= <394042583@qq.com> Date: Tue, 30 Aug 2016 07:31:19 +0800 Subject: [PATCH 05/27] push --- .../.DS_Store" | Bin 6148 -> 6148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git "a/2\347\255\226\347\225\245\346\250\241\345\274\217/.DS_Store" "b/2\347\255\226\347\225\245\346\250\241\345\274\217/.DS_Store" index b3c6d854d45523cbc253686c51f91e1fe122bce7..82f2cd79b43b691980ab227f37e1d3ecb29efca5 100644 GIT binary patch delta 65 zcmZoMXffDe!^rf@VR8YZ3Xh9RN@+ Date: Thu, 5 Jan 2017 15:39:03 +0800 Subject: [PATCH 06/27] update --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index aab7a89..f1a67ca 100644 --- a/README.md +++ b/README.md @@ -44,3 +44,11 @@ [Cocoa如何应用设计模式](http://www.cnblogs.com/pengyingh/articles/2346299.html) +[设计模式问答一](http://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=204772288&idx=1&sn=182ebf11253f80579f386f0c9cf4750e#rd) + +[设计模式问答二](http://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=205051580&idx=1&sn=8dfca32f8598544922ff0adc8a6f76a4#rd) + +[设计模式问答三](http://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=205377346&idx=1&sn=1ea5f7328e5f545984c2c54a84a54a93#rd) + +[设计模式问答四](http://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=205598648&idx=1&sn=4351450c6168c4c318ca362741ac152e#rd) + From 0eed3f1acfaeb39dba3b6b56760034ec4f2a7bef Mon Sep 17 00:00:00 2001 From: huangchengdu <394042583@qq.com> Date: Fri, 13 Jan 2017 21:38:48 +0800 Subject: [PATCH 07/27] update --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index f1a67ca..67b0179 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ [Cocoa如何应用设计模式](http://www.cnblogs.com/pengyingh/articles/2346299.html) +[大话设计模式阅读笔记](http://www.jianshu.com/p/47c67255c842) + [设计模式问答一](http://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=204772288&idx=1&sn=182ebf11253f80579f386f0c9cf4750e#rd) [设计模式问答二](http://mp.weixin.qq.com/s?__biz=MzAxNzA1ODY2OA==&mid=205051580&idx=1&sn=8dfca32f8598544922ff0adc8a6f76a4#rd) From 4008e64fb74c26a1396afc91194bcc99f669dcb2 Mon Sep 17 00:00:00 2001 From: huangchengdu <394042583@qq.com> Date: Tue, 16 May 2017 17:32:10 +0800 Subject: [PATCH 08/27] update --- .../.DS_Store" | Bin 6148 -> 6148 bytes ...e\345\277\253\346\215\267\351\224\256.png" | Bin 0 -> 174241 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 "\350\256\276\350\256\241\345\233\276/subline\345\277\253\346\215\267\351\224\256.png" diff --git "a/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/.DS_Store" "b/1\347\256\200\345\215\225\345\267\245\345\216\202\346\250\241\345\274\217/.DS_Store" index b25f2cbfab28ffdd5d1a91457b9af13306337efa..8c93779ec7247ca2e4bf83faf8920dcf4a2a553f 100644 GIT binary patch delta 61 zcmZoMXffE}z{q6tVe&dgHNM<@7nhXMl4J&kE4Nmzp1g)pWAZ#kE*2=qjB&%}kBnk$ N6C3z8vvd6A2LRFX7n1-0 delta 61 zcmZoMXffE}z{n)oKY1Oa8eeX{i%UvrNiqYrG9^C$C}Dm^_b>iv`LtW1O)0BcmAG M#0I|2>>Pjj0kUou)c^nh diff --git "a/\350\256\276\350\256\241\345\233\276/subline\345\277\253\346\215\267\351\224\256.png" "b/\350\256\276\350\256\241\345\233\276/subline\345\277\253\346\215\267\351\224\256.png" new file mode 100755 index 0000000000000000000000000000000000000000..24f00634fe9d95ed5959da843906f674d5193326 GIT binary patch literal 174241 zcmeFX<9la8vo;#rwr$(_#kMB4ZQHhOCzDKU&cwEDCzE87H#5(E_ukhzAI?8;)~D6o z)m5wO>Rw& Vb< z5En$ng&{N&6k%kD)L@WL6db^UfB_IQC1?oA-E8hO@6E}6 w+=>!jJ^vVKQ%QezEKC2L@Vve|Pt7LoCSr9d{eE z-23^VPd+I%W&{cZUW_+AZd6|E1A#AR(?f&{WHO>a%b6`W$g7x!UI1U@;}Mp8)MgsC zf81v6Cg)KB`I7_)3JpUh0Sw3!u9nqlMXCZZG^hzXe( V*l>3eDiKw0N$-VMM_0RnHeScbhIj-Jt3LdI)kZnbmG@*Pg zTdT0%4A0v@;rofhiMsqllS2C;zUF2=qvOoMyN7&pL#vQ=zGg7kWvAxM-Fvz*DD=1c zIS|mH4`^9tN)yk}NoSJfZ0>2#@m;0+oWWSQoa34Wrq57zg1rtQESf8Br5*a7(TAGQ zt(BV4?xy5HUretEjORhAn+KF-PvpJFcN_OcN X~!`;f`yel z$xH)}5`wn?_BDukG6%&Aq`d+0BZ3ME#%cg*5N45t1WACs>xWPTlkP)kfK&~jae!I~ zLft{LfH>|qb%5Uh;ol+ffCCsnb%E^ffMx^{K_My; 6n4Ul^!19Mc6eyk0KVXX+z|g@~4|Ft8+dy{q ze>iY;;mHTF?((%EZ9$|DvfntiLHEFI2VM7*yrA<10)@oPAj1z~HHz{j5RqX>0l>z1 zO0cL!tr8$g&`$wZL?k9~zeD;BEwCU)u=XQvhXDpF8L|^R6Y8?yWf=1zr+pj!a0VmH z+YPEUFiTM90j5U9jZ!P$Y>->wyurLNywSZ8c|-mL4DOzA@#oM_VPXc$^w;*=4&(Q+ z@2xp>w+U~65yWc@;qK<%2zy`%;Od8LhYQB_hFlLK?h2xefw=~O_h%!?>>zWX{Dc~X z!i4q>F&scsimDKGA%Z~W9$Fl_92y)_-?QCAa*QIAn VoY8 z&l&m|>zM>}R!Ah6N)TzIUXgN KvP;^C{7(%W3W0Xo P^C~^RP|N;UG=6~UlCV1yZCKUdBLq(R~1*S zypp%tdC|REU)g^=!MKfi4(l)mVWcfADy%+Cu~@rU$5>iLfmOu0*sS `%A@WB z>!bC y)1)MTG0@ef8K-f~)cvx!Kk5~gzT++H(;NmT@6|tvik7z55M_iSd%^2sH z^H@mP6AEAoT)8Ycy=<%Ok*q7WOSV5|X0~Z&ZYvj!?J@27zs2v>?|)!~Vc0}VM|Y;F z%Gm#UOruY;uZgKasX@@@Zz$7ZY}~ThwEMF-vLtRWZ@_9*ZHsH(x!t-gzr?U&SH0=# zUDMt9$LsC>DId=UuL)nC`~B47BIC?s!qKF0YcFIt921eplBY4JDi<&Xcg%H6m@CGB z!$6mglYU&MU5B?!S~qA1VMlE@x~bQh-444k-J#&c ^A8l>7wb% z^R)J&^j!9if75)cxwX6>etmtrdbl*NVp*NwIcm$V-PZ0!@Q?D(@DKgG2O0zt7CJ}q zh}=%nmB|A;1G@vs4i-XUwa}QEH|XA(*wGhpAnqqlC1w pyS zCivhI5fs6iC7{M`r)y$xV)@Bh#U_nri_^{Vsve^Z$5}>>L5Pd(P3C4)xje@&6P~8U zNUQDU-@bLH_RGFTQ9H49Z$NrHwI;QEzrj(-adfYzAxM+GCep*~{o}>471EpW4Sh7V zIh!?WCq*%fDd!|bGm9(fAmux)CEF@_JDq3Dd4KIrkJPPPrF5n&yfl9nPcBC4Qii-_ zyo}&z@^0xJ56c3Jy6MAR?2DL>Qkm#c-h^Xd?~Wu!N()~#xef+Ax2}lquKPeB-f_;) zocQ*{_HqrW`n}pSZQC}lUuU~~*IoHb21^ag-;b>i?8gW-&s$r)@V_(o>Arc@K8Bu$ z!}!2haVBt-*uA(Gua3;cUUQ1sTG6Z0(^28QPaSu@l0=dSD}9=cPO5Di_Z<6ecMm)L z>Y?9`;vVLdnUMY|-D6{F-~BuIH{zk7ti8;}Qun6WTR(mqei#0;d&fl$eJaBwE&fJ} ziN?I$$kpEF^>fXJbMZt~jTNJ1y+eHkUqP2?{! n+mQHDRC)yzr9l2RaJ4d z*Okn5G~8tmSDw7u^fU#%d{%GsQ1d9Yabj?*a8F~&Df^{%$I}Hz|M+~Sd{#cqyOrZk zo#d?gr@6JZL0f5WvTfyT&{;)Vp7I~N*L5#8K3*_V^y2Z?JNDcKZG>K8N@2n>%Ip8^ zWSbqa$L-8<@oexlecPv<)wpsCadFXq?DhJS_1r?6YnPi|$Ez#oKe#*6p6$k&ZNIu< zb=Gvn^H%*>Z{BI!k!`oWWp~ ef--)ed#dBvh5aDP70O|S(!4Z&6;Jj1?0)-L65QEP;OW4+W5a1e#3o4nKY5RD z>4gKB3z(*ZXM?V!7^KG%-4fn<48GhCQJ+>;H7AItf=|6m{=P>F%YvOF#iQX{P+PLS zo3HY>o3qdA*Xxu)lzG0ApG@pp?@G7Emz13fx%tHchzf^({r=RSRyQq=*`Gfs=TGP7 zebNHhalw&X`XVENy7;4x!mxlW_<<70j+$<33flPuWp)H_zxm~%XMMAR0g7-0H=roP z2WZvXazF%TTA*FQ7|6)nzJxcS(9<7vQCSQO`Q_yKmBRq_pa;|kot{>L&d=-5#>Df1 z70^2~Bu`WIVF49=vk6fUdLCZ^xnX>T)y@T$5mL8h`HEt5EmbvLH05M@jO}e13{C8f zOc^|Eze3xuhtGrO>($oO#gNFu*2d16$Ah2bp9Ig>``>Ox5~6=1F4p`cnsSOnqV`Uv zMC=S~3``^fFhoQ|d`>22Jjwv^|C;{Q;wQ0iadF^bWOR3TXK-g_uy- (p^?3-3qJ|TUqk=>{O3DO zJuLsnlAZH^E$eH6jDJTMnHiWE|6BLhRKCBxJc^bcrZ$=YOIuSr=Pw%qtQ=f?|K$H) zBmZOZf6dhTpP5|TZ2x=a{~GzPnS6|Y7x2Fp^dE2i>-}<<01O}Ff4g1)20peL2M9H&P=3;Qia?e)|BGhbL7A1tNth9FZ@SqP%cVk-!Zy^9q0pol9iBoSlGil(fn zj)=A}w4izhM!U!pemSAb7zP3d4P_79Ipv&8bmExx^SH~|J3PAR&3Tfq-0WzBaa*J3 zn0uQ0+Vi7`9P)|_1P?e4NMff^bmx=bjsFP$2+9HMZznLY{LVWeh(rKsAF_um@($QX zh5*-=?U(FV4|L8a?#@5KcxsTGKEip((auTae?5Ws{-FO+$t)It`eOXL &E%&+lY -=o| z+zzAJYME93@tpR$%4TnEwD4ov_<7exRxE?c8^4F&5vdJ1uuu*-uw)koA$M%VdyXlE z403?7RY;WsS7+c+m=|2$tQS^pocdxbJFHyKRd~=@=&G<-aRB8mFITC78mCi+>a&vX z;p~pah(oNea-0=OZMyr*SAE8TLg#HtDnSu`sEs;&CHLT5-`!!+A~Q42sWHph9;^KT z4|7;(#guw?q#*W5qQQh5!$dtLlpCXOeP?b6C@S+*>Es{MV0P