-OOPŔč-vO ..
230:ftHgĚźłľłń
07/06/15 08:33:51
C++ĹńčŤLŔI[g}g(NFA)ĚNXđě轢ĆvÁĢéĚšŞA
ČŠČŠ˘˘ACfAŞÜĆÜčÜšńBÇąŠÇ˘TCg⽊ć˘ACfA čÜľ˝ç¨č˘ľÜˇB
żČÝÉĄlŚÄ˘éĚÍA
CState óÔSBĚJÚćđłŚéBCEpsilonĆCDeltaĚhśCDeltaMultipleACDeltaRangeđĄŰB
CEpsilon CvVJÚBĄĚJÚć(CState*)đۡéB
CDeltaMultiple ĄĚJÚđĹęÂĚJÚć(CState*)đۡéB
CDeltaRange éÍÍĚJÚđĹęÂĚJÚć(CState*)đۡéB
CStateChart ĄĚCState*đŰǡéBĹĚóÔS0đłŚéB
CAutomaton ęÂĚCState*đۡéB
CAutomata ĄĚCAutomatonđǡéBCStateChart*đżAüÍ(VO})ÉśÄKŘČóÔđÂCAutomaton𜏡éB
ąĚć¤Č´śÉČÁĢܡB
ľŠľAąęžĆüÍ(VO})Ě^ÉćÁÄev[gÉľÄ\[XđNľ˝čľČŻę΢ŻÜšńB
ć뾨袾ܡB
231:ftHgĚźłľłń
07/06/16 00:05:11
ČńÉg¤ńžťńČŕń
232:ftHgĚźłľłń
07/07/04 07:05:40
C++ŢÄܡBNCAgNXĚÇ𾽢ĚšŞA
ÇłęéNCAgNXÍnewĹŽIÉśŹłęéƢ¤¨ĹˇB
Ü˝A}`XbhÂŤĹĚgpŕlŚÄ˘ÜˇB
class client{
client_management *cmgmt_;
public:
@client( client_management *cmgmt ):cmgmt_( cmgmt ){
@@cmgmt_->add( this ); // rźÍcmgmtŕĹ
@}
void haandle(){
@@//NCAgĆĚĘMĆŠA˘ÂŠĚ
@@//IšĹANCAgĆŘfăA
@@cmgmt_->remove( this );
@@delete this;
@}
};
ąęđserver¤Ĺ
class server{
@client_management cmgmt_;
@void listen(){
@@socket sock = accept();//clientNXĚIuWFNgđÔˇ
@@new client( &cmgmt_ );
@}
};
ąńČÝvľŠv˘ŠÎČŠÁ˝ĚšŞAÁÉ
new client( &cmgmt_ )ĚŞĆŠdelete thisČŞŞČ´śŞľÜˇB
ćčxXgČÝvđf˘˝˘ĹˇBć뾨袾ܡB
233:ftHgĚźłľłń
07/07/04 23:17:11
>>232
Ćč Ś¸ÝvÉÖľÄB
clientŞclient_managementđQơéĚÍÇȢB
iČĆŕńconstĚ|C^đÂĚÍÇȢj
clientŞclient_managementđmÁĢéKvđ´śČ˘B
clientĚCX^Xđclient_managementÉÇÁˇéĚÍA
ĄńĚáĹÍserverNXĹs¤ĚŞĂŠB
áŚÎA
client* ptr = new client;
cmgmt_.add(ptr);
clientĚíđs¤ĚŕAclient_managementÉsíšéB
ť¤śáČŻęν̽ßÉaddľ˝ĚŠíŠçńB
ĄĚclientĚÇđˇé˝ßĹľĺH
delete this;ÍFńČÓĄĹ čŚČ˘BƢ¤ŠĹŤB
ĺĚAptr->haandle();ĚăAptrŞgŚČČéĆÍâÎNŕlŚČ˘ŠçB
ťĚź
socket sock = accept();//clientNXĚIuWFNgđÔˇ ¨@socketŞÔÁĢéć¤ÉÝŚé
new client(&cmgmt_);@¨v˘ÁŤč[N
haandle()\bhŞˇ˘BĄĚ\bhÉŞˇéąĆB
haandle()Ƣ¤\bhźđŠÄŕ˝đˇé\bhŠíŠçȢB
˝źŞCÉüçȢ
¨cmgmtđŠÄAclient_managementžĆíŠÁ˝çGXp[B
¨\bhźANXźAęIuWFNgźĚćʪŠȢB
234:ftHgĚźłľłń
07/07/05 15:58:39
>>233
čŞĆ¤˛´˘ÜˇB
235:ftHgĚźłľłń
07/07/09 23:47:14
Ǥ˘˝Îľ
236:ftHgĚźłľłń
07/10/30 21:18:52
ąąĹżâˇéĚŞK؊ǤŠÍíŠçȢĚšŞA
梤rWlXWbNÁÄǤ˘¤ŕĚđž¤Ěž夊B
staticĹńłęĢé[eBeB\bhČÇÍrWlXWbNĹÍȢĚČçA
Ǥ˘¤Ď_ĹŠÄǤ˘¤čĹąĚđs¤rWlXWbNNXĆÝvˇę΢˘Ěž夊B
ČńĆČÍíŠÁĢéńšŞAČńŠľÁčąČ˘ńšB
Ü˝ArWlXWbNNXÉ쏡é\bhđÇĚrWlXWbNNXÉR[fBOˇéŠÍ
ÇĚć¤Éßę΢˘Ĺľĺ¤ŠB[U[ÉÖAˇéžŠçąĚNXĆŠAŞŻűŞđĹŤÜšńĄ
237:ftHgĚźłľłń
07/10/31 04:02:07
>>236
ܸąąĹ
WikipediaÚŘݸ
SĚSŇĚęAŠŞĹÝvľć¤ĆľČ˘Ĺ
ůśĚt[[NâA[LeN`ĚŹVÉ]¤ĆǢ
238:ftHgĚźłľłń
07/10/31 21:25:45
>>237
X čŞĆ¤˛´˘ÜˇB
ÇńĹÝéĆÓĄÍíŠéĚšBšŞAťęđŔŰÉŠ˝żÉˇéąĆŞĹŤÜšńB
ąńČxĹŕŔŰÉdđľÄ˘ÜˇBĚďĐĹÍąęçđSÄŻśNXŕÉR[fBOˇéĚšB
ŔŰÉvŠçÝvAR[fBOANXÝvđwԹƪōéĐČÇÍȢž夊B
ĐđÇńĹŕažĆŠrWlXWbNÍŞŁžĆŠA˘ë˘ë˘Ä éĚšŞ
ŠŞĚdŤÜâéąĆŞĹŤČ˘ĚšB
239:ftHgĚźłľłń
07/10/31 21:48:49
> ŔŰÉvŠçÝvAR[fBOANXÝvđwԹƪōéĐČÇÍȢž夊B
ǤľÄ੪ĹÝvľ˝ŻęÎA
ĺŤÚĚ{ŽÉsÁÄIuWFNgwü
ÉÖW 蝤Č{đĐ[ŠçÁÄÇŢB
˝Ş100űೢĆv¤B
ťĚăĹAŔíđ10ńç˘oąˇęÎ
ČńĆŠlŔÉÝvĹŤéć¤ÉČéĆv¤B
240:ftHgĚźłľłń
07/11/01 21:38:01
AOPČÇđgŚČ˘ÂŤĹADBRlNVÇAR~bg^[obNđ§äľ˝˘ĚšŞA
Ǥ˘Á˝ű@ŞĹPČĚž夊B\bhđתťˇéĚ͢˘ĚšŞAřÉDBRlNVđKvơéꪽČÁľܢܡB
241:ftHgĚźłľłń
07/11/02 01:33:17
springĚgUNV}l[WgŚÎH
ťęŕgŚČ˘ČçXbh[JĎđŠÁÄ
gUNV}l[WđŠě
242:ftHgĚźłľłń
07/11/08 22:48:52
rWlXWbNNXĚC^[tF[XđlŚéęÉ
Ćąt[Šç\bhĚč`đlŚéĚÍ¨Šľ˘Ĺľĺ¤ŠB
C^[tF[XđlɢÄŕçŚÎŔ͢çĹŕĹŤéĚšŞA
˘Ü˘żąĚxÜĹĆľŢű@ŞíŠç¸ąÜÁĨčܡB
243:ftHgĚźłľłń
07/11/09 00:37:07
>>242
PofEAAĆŠURLŘݸ(d.hatena.ne.jp)
ÇńĹŠŞĹ˘ë˘ëHvľ˝ç˘˘ć
244:ftHgĚźłľłń
07/11/10 20:04:09
>>243
čŞĆ¤˛´˘ÜˇBĐđwüľÄ×;ܡAŞAAA
ŮŠÉŕ˘ë˘ë˛×˝čľČŻęÎČçȢĚĹÔŞĆęČť¤ĹˇB
ĐŞłńĚblogÍ˘Ä éąĆĚÓĄÍČńĆČíŠéĚšŞA
ŔHÉŕÁĢÉÍÉÍľHᄁć¤ĹˇB
245:ftHgĚźłľłń
07/11/12 22:36:59
HttpĘMĹAX|XŞcsvžÁ˝čxmlĹURI˛Ćɢë˘ëČp^[đԡ̚ŞA
ąĚęAViewpĚŰNXđpӾĝęđp^[˛ĆÉsetterđpÓľć¤ĆlŚÄ˘ÜˇB
ŕÁĆć˘ACfAŞ ęÎłŚÄžł˘B
246:ftHgĚźłľłń
07/11/13 00:38:46
HttpĘMÜŰ˝
247:ftHgĚźłľłń
07/11/13 00:47:02
¨ŠľŕČńĆŕȢČB
>>245
Żśf[^đĄĚtH[}bgĹÔšéT[rXČĚŠA
VXeĹgíęéX|Xf[^ŞĄ éĚŠÇÁżH
ăŇČçÝvĚRZvgđm轢B
248:ftHgĚźłľłń
07/11/13 01:40:34
ťęAHotJava (ż)ăŠçńłęÄé@\žŠçB
249:ftHgĚźłľłń
07/11/15 23:16:14
JavaČńžŻÇService Provider InterfaceX^CđĆé×É
ÁčĚřđÂRXgN^đtNVĹTˇĚÁÄ_ŠČH
ć¤ÍBuilderžŻĹŽłšÄABuilderFactoryÍěçȢű@B
250:ftHgĚźłľłń
07/11/16 00:08:41
>>243
>hCWbNđ()ĹÍÁĢéĚÍAhCWbNđ
>hCfÉ˝š˝ęAhCWbNÍArWlXWbN
ąĚśĚJ^JiŚđvZšćB
`bgŠ˝žŻĹÇńČlČĚŠSRmçȢŻÇA
ú{ęđ}gÉbšČ˘(bť¤ĆľČ˘)cÍA
ëĹŕȢąĆŞ˝˘B
251:ftHgĚźłľłń
07/11/16 16:53:20
OtCuB[đě轢ńžŻÇ
C++ĹŠęĢÄAfUCp^[đp˘˝¨č{ÉČéCuB\[XÁÄ
ȢÁˇŠH
252:ftHgĚźłľłń
07/11/16 19:01:29
boost
253:ftHgĚźłľłń
07/11/20 18:04:51
>>250
ť˘ÂĚlԍͳĨŤASRmçȢÁÄĚÍĆElĆľÄǤČĚćEEE
254:ftHgĚźłľłń
07/12/30 13:03:50
RubyđgpľÄ˘ÜˇB
OOPĚÝvĹĆÁÄŕYńŢܡB
áŚÎA
ÇÉ{[đÄéđlŚÜˇB
ÇNX
{[NX
°élNXŞ
éƾܡB
ÇÉ{[Ş˝ÁÄľËÔÁÄéĚÍ
ÇĚNXĹŔľÜˇŠH
MediatorNXđěé׍šŠH
ĆA
\bhĚaugumentÉÍ
źĚĆŠĚNXđĆÁÄć˘Ěž夊H
\bhĚaugumentÉÍA
operandͨkĹAoptionÍNO
žĆ˘¤ĚŞHeuristicžť¤ĹˇŞA
Ƣ¤ÍAźĚNX
áŚÎą¤˘¤ŤűđˇéŠmčÜšńŞ
method(MyClass object)
Ěć¤Č\bhđŔľÄࢢĚšŠH
ÜčÉŕÄpŤŞ¸íęéć¤ČCŞľÜˇB
255:ftHgĚźłľłń
07/12/30 15:16:33
>>254
°éƢ¤ŽŞśÝˇéČăAThrowerĆThrowableĚÖWÍ ÁĢ˘B
Ü˝AÇAĘAlçÍAťęźęÉŐËÂ\ČObjectiÉž¤MobjơéB
ćÁÄA¨˘çČçČşđyäơéB
GameField field = GameField.getInstance(); // Q[}X^[
field.add(new ConcreteWall(0,0,0,768);
field.add(new ConcreteWall(0,0,1024,0);
field.add(new ConcreteWall(1024,0,1024,768));
Thrower thrower = new ConcreteThrower();
thrower.set(new ConcreteBall());
field.startGame(thrower); // Q[[vĚJn
Ü˝AČşĚËśŤŕKvĆvíęé
Throwable extends Mob
Mob.collision(Mob) // xNgĚĎXĚÝ
ąĚážĆGameFiledŞisđąßéŠçAMediatorĆÍtB
collisionĚÔ
OÉMobÉMediatorđnˇĚÍ čB
256:ftHgĚźłľłń
08/03/08 19:27:46
żâšB
ÝvŇÍJŇÉÎľÄpublicČAPIžŻđ
dlĆľÄnľÄA
JŇÍťęđprivateČ\bhÉ
ŞđľÄĹIIÉpublicČ\bhĚeXgÉĘę΢˘Ć˘¤ĹˇŠH
257:ftHgĚźłľłń
08/03/16 23:55:02
f[^`ŽŞČşĚć¤ČubNWĚgÝíšĚę
DATA( A or B or C or D)
ąĚć¤Čf[^đÄpIÉŤoľ˝˘ĚšŞ
ÇĚć¤ÉÝvˇę΢˘Ĺľĺ¤ŠB
[A,B,D]Ěęŕ éľ[C,D]Ěęŕ éľ
ŠĆ˘ÁĿܿÜP[XśĹŤoˇĚÍđ̸žľ
đçȢB
258:ftHgĚźłľłń
08/03/17 02:08:14
Ƣ¤ćčǤ˘¤prEp@ĹľíęéĚŠíŠçȢĚĹzľĂç˘ńžŞD
PÉrbgtB[hÁÄąĆŨH
259:ftHgĚźłľłń
08/03/17 10:01:59
>>257
A ` D đŠRÉgÝíšÄoÍľ˝˘Ć˘¤öxČçܸAA ` D É
¤ĘČuŤoľÂ\f[^vƢ¤C^tF[Xđč`ˇéBťľÄ
A ` D ŞąęđpłˇéB
Éuf[^đŤoˇlvƢ¤ŰđěčAuŤoľÂ\f[^vĚ
W(zńAXgČÇ)đóŻćÁÄAĐ˝ˇçŤoˇć¤ÉˇéB
uŤoľÂ\f[^vĚW𜏡é˝ßÉA§äđĚŰŞKvÉ
ČéŠŕľęȢB
260:ftHgĚźłľłń
08/03/17 17:32:42
>>256
˘˘ńśáËH
ÝvŇĚÝvąxŞÇĚöxŠíŠçńŻÇ
dlĆľÄÍOŠçÝ˝U颪łľŻę΢˘íŻžľ
261:ftHgĚźłľłń
08/03/25 16:07:35
SRPÉ¢ĿâšB
uNXĚĎXRđęÂɾȳ˘v
Ƣ¤Ítɢ¤ĆA
uŕľNXŞĎXłęéÍťĚNXĚdlđˇ×ÄĎXľČł˘B
ŕľĎXłęȢdlŞŹÝˇéČçÎťęÍĎXRŞęÂĹÍȢv
Ƣ¤ÓĄĹˇŠH
262:ftHgĚźłľłń
08/03/25 22:18:55
>>261
á˘ÜˇBĎXRŞęÂĹ éąĆĆNXdlSÄđĎXˇéąĆÉ
ÖÍ čÜšńB
SRP ÍuNXÍPęĚTOđ\ťˇ×ľvƢ¤[šBPęĚ
TOđ\ťˇé˝ßÉĄĚf[^Ć\bhŞč`łęéĚžŠçA
ŞIČĎXđŠŻÄ˘s׊ĚÍA˝ç SRP É˝ľÜšńB
áŚÎA éŰTOđ\ťľÄÝ˝ŕĚĚA ĆŠçŤčȢŕĚÉ
Ct˘Ä\bhđÇÁˇéAƢ¤˛ čÓę˝P[XđlŚÄÝÄŕA
NXĚůśdlđół¸ÉŞIČĎXđŠŻÄ˘éąĆŞŔ´ĹŤé
Ĺľĺ¤B
éNXŞ SRP É˝ľÄ˘éŠÇ¤ŠťfˇéÉÍAŮČéTOŞ
ŹÝľÄ˘Č˘ŠÇ¤ŠđíŻIÉ`FbNˇęÎǢĚšBŕľ
ŹÝľÄ˘éĚČçAťęÍńÂĚNXÉŞŁˇé׍ČĚšB
˝žASRP É὾ĢéNXŞęTÉŤĆÍžŚČ˘ąĆŕÓŻľÄ
¨ąĆÍĺŘšB˝ŕsŤˇŹ˝´ĺ`ÍćȢB
263:ftHgĚźłľłń
08/03/25 23:21:24
>>262
ĆŠçŤčȢŕĚÉ
Ct˘Ä\bhđÇÁˇéAƢ¤˛ čÓę˝P[X
Ƣ˘ÜˇŞAąęÍOCPŞá˝ľÜšńŠH
ĄAHead FirstĚIuWFNgwüÝvĆŠ˘¤{đÇńŢܡB
ťąÉÍSRPĚáĆľÄAÔĚNXđč`ˇéęÉ
ťąÉwashČÇĚ\bhđgÝńĹ͢ŻČ˘Ć˘¤ÉČÁĢܡŞA
áŚÎOĹ
CarWasher#wash(AutoMobile)đč`ľ˝ęA
ąĚCarWasherNXÍAutoMobileĚáŚÎdirtƢ¤tB[hŞśÝľÄ˘éđmÁĢȢŻęÎČčÜšńB
iáŚÎwashƢ¤\bhŞdirtđ0ɡéŕ̞ơéĆj
ąęÍîńĚBÁɸsľÄ˘ÜšńŠH
ťęÉłĹÉAutoMobile#setDirtđÝčľÄąęđóŻüęęÎA
źĹÇńČŤpđłę銪ŠčÜšńB
¸sľ˝ÝvžĆv˘ÜˇB
JvZťÉ¢ÄǤlŚÄ˘ÜˇŠH
setterÍČé×ŔľČ˘űŞÇ˘ć¤Év¤ĚĹA
f[^É¢ÄNX𪣡éĚŞ˘˘Ćv¤ĚšŞA
ąĚ{ÉÍUé˘ÉÂ˘ÄŞŁšćĆ˘Ä čܡB
264:ftHgĚźłľłń
08/03/26 01:09:50
>>263
gŁĆęűÉžÁÄŕAŢTOĚÇÁĆA\bhĚÇÁĹÍÓĄ˘Ş
á˘ÜˇBOCP đçé˝ßÉ\bhĚÇÁĹÍČpłĹΡéĚ
ĹÍ{]|Ĺľĺ¤B´ĽÍâÎĹÍȢ̞ŠçA_îÉΡęÎ
˘˘Ćv˘ÜˇćB
ťĚ{ÍÇńŢȢĚĹóľŞÇíŠčÜšńŞAÔNXŞ wash
đńˇé׍ĹÍȢRŞ˘Ä éĚĹÍ čÜšńŠ? ÔĚĺvČ
ÓąÍulđćšÄÚŽˇévĹ éĆŠČńĆŠB
Ü A˘¸ęÉľÄࢢáĹÍȢCŞľÜˇŞANXĹÍTOđ
ŽSÉ\ťˇéąĆŞĹŤČ˘ČăAÇąŠÉ˛ŤđuKvŞ é
íŻĹˇBťęŞuô¤vČĚŠuévČĚŠÍÚIÉćÁÄĎíÁÄ
éĹľĺ¤B
JvZťÍž¤ÜĹŕČĆÄŕdvšËB
ĺŘČĚÍAŠŞŞ\ťľ˝˘ŕĚđÍÁŤčłšéąĆšBť¤ˇęÎ
ŠRĆKvČf[^âU颪őíÁĢŤÜˇćB
265:ftHgĚźłľłń
08/05/14 12:54:34
>>263
CarWasherNXŞAutoMobileNXĚdirttB[hđmÁÄČŻęÎČçȢ
ĚÍ˝čOB
ťŕťŕAôÔ@ÍÔĚśÝđOńÉěçęéľAMôňíÍMĚśÝđOń
ÉěęéB˝đHǤˇéHĚQÂđmÁÄȢĆuˇé¤vÍěęȢB
ÄŠAôÔÍáŚĆľÄŞŠč
266:ftHgĚźłľłń
08/05/14 15:08:00
ťŕťŕuęďvŞč`łęĢȯęÎuô¤vąĆŕuęévąĆŕč`ōȢD
267:ftHgĚźłľłń
08/05/22 06:02:42
OOPÉĹßQüľ˝VQŇšB
ÝviÁÉNXĚÝvjÉÖˇéIXXĚĐ˝ŠČ˘Ĺľĺ¤ŠH
áŚÎVbsOTCgA^rfIVbvČÇíŠč⡝¤ČŕĚŠçlŚÄ˘ą¤Ćľ˝ŕĚĚ
OOPÖĚđŞó˘š˘ŠÇ¤ÉŕËfÁÄľÜÁĢܡ
ć뾨袾ܡ
268:ftHgĚźłľłń
08/05/22 12:13:26
>>267
fUCp^[ĆĆŕÉwÔIuWFNgwüĚąąë
269:ftHgĚźłľłń
08/05/25 20:58:00
MVCŞľ˝ĆŤÉUndoĚWbNÁÄModelĚŔĚćÉČéĆv¤ńšŞA
ĺďąĚUndoÁÄR}hp^[ĆŠĹŔłęܡćËH
ąĚĆŤAModelÉΡéĎX˝ßŞSÄR}hĹŔsłęéąĆđR[hxĹŰáˇéÉÍA
ModelÉΡéĎX˝ßđóŻćÁÄR}hđsˇéNXđěÁÄA
XÉModelŕĚf[^\˘ÉΡéANZXđ§Ŕˇé˝ßĚ
ÇÝćčępbp[NXđěÁÄOÉöJˇéAƢ¤´śÉČéĚž夊H
ŔŰąĚć¤ČąĆÁÄĆąxĚJĹÍsÁĢ˝čľÜˇŠH
270:ftHgĚźłľłń
08/05/26 00:23:07
>>267
ÂlIÉAt@N^OĚŔHŞęÔgÉtŤâˇ˘Ćv¤B
t[\tgĆŠĚ\[XƾčÄâčÜéƢ˘B
Ƣ¤ąĆĹ
Et@N^O
271:ftHgĚźłľłń
08/06/19 22:55:43
ŔąĹgpˇéVA|[gŠçuěĹŤé
ˇx˛ß@\tŤĚ
żj^[đǡévOđě轢ĆvÁĢܡ
1ŞÉ
żf[^Ć
ˇđ枡é
PCŠçˇxĚÇlđĎXĹŤé
Ƣ¤@\đŔťľ˝˘ĚĹˇŞąĚę
|[gĚJÂâf[^ĚóMđǡéCommNX
żf[^ĚóMvâÇlĚĎX˝ßđCommľĚޟު¸ÄÉéA
żj^[Ě@\đŔťˇéMonitorNX
MonitorľĚޟު¸ÄŠçlđóŻćčŔŰÉ\ڎéGUINX
GUIŞMonitorĚQĆđŰľÄ
MonitorŞCommĚQĆđۡé
ąĚć¤Č\˘Ĺć˘Ěž夊H
272:271
08/06/20 00:31:37
ťęĆŕ
MonitorNXĚčúŞčĆÇlĚĎXÍĘĚNXĚUé˘Éľ˝Ů¤ŞÇ˘Ěž夊
273:ftHgĚźłľłń
08/06/20 20:41:49
>>271
˘˘Ćv˘ÜˇB ĆÍA
żj^[Ě}`x_[ťâ˝dťŞ
mŔČçAOÉgŁŤđlśˇéĚŕ čB
274:ftHgĚźłľłń
08/06/20 22:07:46
>>273
čŞĆ¤˛´˘Üˇ
ĆAV^Ěj^[đgpˇéęŕlŚéĆ
gŁ@\đŔľâˇ˘ć¤ÉfR[^ɾĨ˘˝űŞ˘˘ĹˇŠË
275:ftHgĚźłľłń
08/06/21 00:04:07
>>274
ČŕÉV^ŞąüłęéČçËBłŕČÎAVvÉOˇéB
276:ftHgĚźłľłń
08/06/21 00:47:55
ĚSȹơŤYęÄÜľ˝
ńÂĚlđęÂĚśńÉŹľÄVAĘMˇéĚšŞ
ąĚ˝ßĚŹĆÔĚ|óÍMonitorĆCommNXÇżçÉŔˇé׍ž夊
żâąŤĹ\ľó čÜšń
277:ftHgĚźłľłń
08/06/21 06:02:48
>>276
"ńÂĚlConstructor"ÉCšę΢˘ńśáȢH
ŕľÍMul/DemultiplexerĆŠH
278:ftHgĚźłľłń
08/06/21 10:29:05
>>276
Comm NXÍÄpIČVAĘMžŻđs¤[eBeBNXĹ
˘˘ńśáȢŠČB§ävgRĚmŻÍ Monitor É˝šéB
279:ftHgĚźłľłń
08/06/21 12:11:06
>>276
¨ęžÁ˝çAŹĆÔĚ|óđs¤NXđĘrěéŠČB
280:ftHgĚźłľłń
08/08/05 22:06:37
>>279
>¨ęžÁ˝çAŹĆÔĚ|óđs¤NXđĘrěéŠČB
bZ[WI/FĆp[T[I/FÍÇęŠęÂpÓľÄ
bZ[WĚÚ×Íx_[ÉŔˇéĚŞęĘIŠĆv¤B
281:ftHgĚźłľłń
08/08/08 03:31:53
>>271
żĺÁĆOOŞÍÁۢąĆâÁÄÝ˝ŠÁ˝D
#@[Ŕą]Ĺ[gpˇé][VA|[g]Šç[uěĹŤé]
#@[ˇx][˛ß][@\]tŤĚ[
żj^[]đ[ǡé]
#@[1Ş]É[
żf[^]Ć[
ˇ]đ[枡é]
#@[PC]Šç[ˇx]Ě[Çl]đ[ĎXĹŤé]
KvČź(IuWFNg)
@VA|[gCˇxC
żj^[C1ŞC
żf[^C
ˇCˇxCÇl
ŤčȢź
@^C}[
KvČŽ(\bh)
@ěC˛ßCÇCćžCĎX
ąąÜĹâÁ˝ŻÇĘÉ˝đěë¤Ć˘¤íŻĹÍȢ
282:ftHgĚźłľłń
08/08/10 12:13:24
ˇxŞIuWFNgŠć[
1ŞŕŠć[
ˇEˇxŕŠć[B
283:ftHgĚźłľłń
08/08/10 13:31:40
˝čOˇŹÜˇćË[OO
284:ftHgĚźłľłń
08/08/20 20:05:43
NXĚÝvÉÖľÄYÝšB
áŚÎČşĚć¤ČKvĆłęévfŞLÁ˝ĆľÜˇB
(vfŕeÍĹ˝çßšB)
ER[h/źĚ/bZ[W/Ę/F/ł/
@/ÇÁú/XVú/íú/c(SĹ20vfŽç˘)
1 c R[h/źĚ/bZ[W/Ę
2 c R[h/Ę/F/ł/
3 c Ę/F/XVú
4 c íú
eÍANXÉÂĘŞŢĹŤéÉČčAeÉľ¸ÂăLvfŞ
ńĹéóÔÉČčܡB
ąĚć¤ČęAÇĚć¤ČNXÝvŞKľÄ˘ÜˇŠH
ťÝÍAR[h/źĚ`ČÇĚ20vfŽç˘đBaseNXÉľÄA
1`4ÜĹđpłłšÄ˘ÜˇB
˝žAऎéĆKvĚł˘vfÜĹüÁľܢAŕÁơÁŤč
łš˝˘ČĆvÁĢܡB
285:ftHgĚźłľłń
08/08/21 02:24:17
>>284
> ˝žAऎéĆKvĚł˘vfÜĹüÁľܢ
ąĚ_ĹpłđIÔĚŞ¨Šľ˘BÓĄĚ éPĘÉŘ誯ć¤B
âčĚŘ誯śáČÄAoęl¨ĚŘ誯đÓŻľ˝űŞ˘˘B
áŚÎF^ł^ÁÄGUIăĚŽŤîńČńśáȢĚH
1Ć4ĹťęçĚîńđgpľČ˘ÁÄĚČçA
ĎÁơ˘˝žŻĹŕP`SÍpłÖWăĚZíĆÍvŚČ˘B
> ąĚć¤ČęAÇĚć¤ČNXÝvŞKľÄ˘ÜˇŠH
KŘČŘ誯ĚPĘÍvdlâťĚźĚwiÉćÁÄŮČéćB
ĆÁŠŠčŞČ˘ČçAťęçĚf[^fđ\˘ĚťľÄA
ĚřÉnľÄľÜŚÎ˘˘B
286:ftHgĚźłľłń
08/08/21 15:48:42
>>285
ǤŕšB
˘ŚAGUIĚŽŤĆŠĹÍ čÜšńB
T[o[ÖR}hđ°éĆăLĚlŞÔÁÄéC[WšB
1Čç
@1.uR}h1vđT[oÖM
@2.uR[h/źĚ/bZ[W/ĘvŞT[oćčÔÁÄéB
@3D1Ěđs¤B
2Čç c ĆŻślČŞĄ čܡB
287:ftHgĚźłľłń
08/08/21 23:32:47
T[o[ÉR}hđ°éĆŠ˘Âŕžľ˝ćB
ťęĹčÉKŘČNXĚŞŻű𡢽íŻH
ęKvČAhoCXÍ>>285ÉüÁÄéŠçAnÇľÄYßB
>>286ĚîńžŻĹ˝đYß΢˘Šđ°éČçȺ碊Č
ESÄĚŤʡéóMf[^Ěî{îńiK{îńjÁÄ˝ČĚ
EóMf[^SĚđŘ\˘É\ˇĆǤČéĚi\˘ĚĚoÉ\˘ĚđŠČÇj
EóMf[^ÉÎľÄAťęđpłˇéÁÄKŘČĚ
@if[^fĆrWlXWbNÍĘŞŻéŞËj
°çžŞAȺݽ˘Č´śÉż
ńśáȢŠ
E1,2,3,4ÁÄĚÍAf[^fđřÉóŻéÖ|C^iJavaޤXijÉČé
ER}h1,2,3,4ĆÖ|C^iJavaČçR}hźĚgetterĆXiđZbgÉľ˝NXjĆ
@Mf[^đřĆľAóMf[^đßčlơéĘMNCAgNXŞKviC++ČçóMf[^ŕřĹóŻéj
EóMf[^Aî{îńČOĚîńi\˘ĚoĚ\˘ĚjĹgpľČ˘ŕĚÍNULLđüęé
@î{îńČOŞăŠç˘ë˘ëŚéČçgŁîńđMapĹÂčŕ éBVACYifVACYjŞ˘éŞB
@ĹßĚŹVžĆXMLđg¤ĚૢčĹÍȢBiÂlIÉÍJavaâC#ČçąęɡéČj
Č˝ĚvWFNgĚŚđ˘˝ÂŕčÍȢĚĹAQlÉČéČçQlÉľÄAăÍYßB
288:ftHgĚźłľłń
08/08/21 23:34:15
ůł
~óMf[^đßčlơé
óMf[^đÖ|C^ĚřɾĝĚÖđŔsˇé
289:ftHgĚźłľłń
08/08/31 16:08:07
żĺÁĆąąĚĺčƸęéŠŕľęÜšńŞA
uEU - WebT[o[ - APT[o[ - DB
Ƣ¤ęĘIČ\ŹĹĚG[`FbNĹżâšB
üÍf[^Ě`FbNđˇéĆŤÉA˘üÍâsłśÍMVCĚCĹ
`FbNľÄADBÉâ˘íšČ˘ĆíŠçȢ`FbNÍMޢšćËB
śüÍđˇéĆŤÉAĘ̢üÍÍOŇAÝÉ`FbNÍăŇšB
ĹšËAuĘĚăŔvâusÂ\ČśĚgÝíšvÝ˝˘É
urWlXWbNžŻÇDBÉâ˘íšéKvÍȢvƢ¤`FbNÍ
APÉȰéĆ]vČĘMŞśˇéĚĹWebT[o[Ĺâë¤ĆvÁÄܡB
WebT[o[¤ĚpackageÉÍ´ĽActionNXľŠČ˘ĚšŞA
ąĚpackagezşÉ`FbJ[NXđuĚÉáa´đ´śÜˇB
ś`ÔŞĄGĹActionŞ˘ÁϢ éĚĹAśBaseActionđ
ěÁÄTemplateMethodp^[Ĺt[đßÄéĚšŞA
žçžçĆof[gđĚŕt[ŞíŠčÉČÁÄšB
śNXťĚŕĚÉ׍H
290:ftHgĚźłľłń
08/08/31 16:34:20
TemplateMethod gÁÄéČçABaseAction ÉóĚ Validate \bh
pÓľÄt[ÉgÝÝAďĚIČ`FbNŕeÍhśNXĹŔ
ˇę΢˘ńĹȢĚ?
ČşužçžçvÉČ銪m轢ƹëB
291:ftHgĚźłľłń
08/08/31 16:49:46
ťąÜĹÍâÁÄéńžŻÇAłçÉťĚĹuśđŞąęžÁ˝ç
ąęÍsÂĹvuĘđparseľÄśńžÁ˝çąĚG[bZ[WĹv
Ý˝˘ČŞ10Čă ÁÄAWbNͤĘČĚĹAťĚÂĘĚValidateđ
BaseActionɢĽńšBÂĘValidateĚÇęđÄÔŠÍ
ActionÉćÁÄŮČčܡBĹAąĚ`FbJ[ÁÄŘčoˇ×ŤžĆ
v¤ńžŻÇAactionpbP[WĚşÉ`FbJ[NXuĚÁÄ
ĎžćČ[ĆvÁÄkľ˝íŻĹˇB
292:ftHgĚźłľłń
08/08/31 16:50:33
žçžçČĚÍBaseActionÉÂĘĚValidateŞ˘ÁϢŔńĹ˝ŠçB
íŠčÉŠÁ˝ĹˇËBˇ˘ÜšńB
293:ftHgĚźłľłń
08/08/31 21:00:05
ČńĆČóľÍcŹĹŤ˝B´Čç BaseAction ÉÍPęĚ Validate
\bhžŻpÓľA`FbN\bhÍĘNXÉÜĆßéB˝ÔńA
ąĚ`FbJ[NXÍ stateless ÉČéńśáȢŠČB
hśNXĹÍąĚ`FbJ[đgÁÄÂXĚ Validate \bhđŔ
ˇęÎǢB`FbJ[NXĚuŤęÍÜ AvWFNgIČß
Ĺľĺ¤B
294:ftHgĚźłľłń
08/09/01 00:26:21
ť¤ČńžćËB
ĄÍeActionNXĚĚŘčoľĚC[WžÁ˝Šç
ÂĘValidatorĹsetFieldError()ľÄéńžŻÇA`FbNĚ
˝łŠç˘ÁÄSpublic staticČNXÉŘčoˇ×ŤžĆvÁÄéB
ˇĹÉ[XłęÄévWFNgĚ@\ÇÁČĚĹ Üč
t@N^Oľ˝Č˘ńžŻÇB
ĹAĹĚżâÉßéńžÁÄÎBactionpbP[WĚşÉÍ
actionNXľŠČAservicepbP[WĚşÉÍ[gÄŃoľđ
OńĆľ˝NXĆťĚhCIuWFNgľŠČ˘B
ĄăĚvWFNgĹÍserviceNXĚ\bhÉAme[VÂŻÄ
[JŔsĆ[gÄŃoľđŞŻçęéć¤Éľć¤ŠĆvÁĢ˝B
ť¤ˇéĆâÁĎĄńŕ é׍_IÉÍservicepbP[WĚşÉ
[JŔspĚT[rXNXđÂéĚŠČBĹŕPȢüÍ`FbN
Ý˝˘ĚÍRg[[Ĺâé׍žĆv¤ľA¤[ńB
295:ftHgĚźłľłń
08/09/01 00:42:31
âÁĎčAÇĚÂĘValidatorđÄŃoˇŠÝ˝˘ČWbNŞ
ActionÉüÁÄéąĆŞťŕťŕ¨Šľ˘CŞľÄŤ˝B
A˘âĹŕś`ÔÉćÁÄüÍp[^̪ᤊç
˘üÍ`FbNđs¤ČçActionŠB
ྊľÄstrutsÝ˝˘ÉetB[hĚZb^[Ĺvalidationľć¤
ÁĢ¤ĚŞÔáÁĢéĚŠH
Action -> ÂĘśNXśŹ -> ÂĘśNX#Validate()ÄŃoľ
¨ OKČç[gśServiceĚValidate()ÄŃoľ
ऎéơ˛XbLˇéBŞľÄXbLéBActionÍModelĚ
śŹžŻĹWbNÉÍm[^b`ÉČéľB`FbJ[NXŞ
ĄGĹOžľÉˇéĆľÄŕAÂĘśNXĆŻśpackageÉ
˘ęęÎľÁčéBŞľÄľÁéBhCIuWFNgŞANZbTľŠ
ÁĢȢć¤ČhCfnÇČÂčÉÍľÄȢŠçËB
296:ftHgĚźłľłń
08/11/13 18:02:24
°
297:ftHgĚźłľłń
08/11/27 14:40:57
pubNwb_t@CĆvCx[gwb_t@CĚá˘ŞŞŠčÜšńA
pubNwb_t@CĹńˇéÖĆŕĹg¤ÖĚŞŻűˇçíŠčÜšńB
298:ftHgĚźłľłń
08/11/28 00:16:46
OOPČOĚâčžČ
299:ftHgĚźłľłń
08/11/28 00:39:31
pubNĄ
300:ftHgĚźłľłń
08/12/06 00:00:34
ev[gE\bh p^[Ě˝KwpłÍ}W¨ŮB
ǢĂç˘B
IService Š ev[gE\bh p^[
Ş
AbstractLogic Š ev[gE\bh p^[
Ş
BaseCollectLogic Š ev[gE\bh p^[
Ş
FileBaseCollectLogic Š ev[gE\bh p^[
Ş
DomainLogic
JXŞ
301:ftHgĚźłľłń
08/12/06 01:58:35
ťęÍâ衏Ƣ¤ćčAČńŠÝvŞ¨Šľ˘CŞˇéB
302:ftHgĚźłľłń
08/12/06 06:03:41
Gg[|CgđâˇĚŞÚIČńžë¤ŻÇA
¤´Á˝˘ÁÄĚÍ檊éB
IService Š ev[gE\bh p^[
Ş
AbstractLogic Š ev[gE\bh p^[
Ş
DomainLogic
ĆľÄBaseCollectĆâçÍR|WVĹŕÁĆŻĆB
303:ftHgĚźłľłń
08/12/06 09:36:21
âčȢB
304:ftHgĚźłľłń
08/12/06 19:23:37
IService ÍC^[tF[XĹ Run \bhŞč`łęÄéB
NCAgÍA
DomainLogic dl = new DomainLogic();
dl.Run();
ęHX[p[NXgíȢĚH
IService ÍǤľ˝H
IService ÍH
JXŞ
305:ftHgĚźłľłń
08/12/06 19:26:08
>>304 Í >>300 ĚąŤË
306:ftHgĚźłľłń
08/12/06 19:33:02
ĹA¨OČçǤľ˝˘Ěć
307:ftHgĚźłľłń
08/12/06 19:36:49
ŮęJXŞ
308:ftHgĚźłľłń
08/12/06 19:48:28
ĹA¨OČçǤľ˝˘Ěć
ĹVX\ŚXbhĚőŢXębčĚj
[X¨ÜŠšXgĽIvVđ\ŚÉÂÔľ2ch
4979úOÉXV/83 KB
S:undef