VoucherµÄÉè¼Æ 2006Äê4ÔÂ
ƾ֤ÊǵäÐ͵Ä(²Î¿¼£ºhttp://www.gpskld.com)H-D-D½á¹¹(Head-Detail-Detail)
ƾ֤ͷ---------ƾ֤Ìå------------------------¸¨ÖúÕË------------------------ºËËãÏîÄ¿×éºÏ
|-------ƾ֤Ìå |------¸¨ÖúÕË------------------------ºËËãÏîÄ¿×éºÏ |------¸¨ÖúÕË------------------------ºËËãÏîÄ¿×éºÏ ¶ÔÓÚ1--*µÄ¹ØÏµ£¬Ò»°ãÍâ¼ü¶¼ÊÇÔÚ*µÄʵÌåÀï VoucherEntryµÄFBillIDÖ¸ÏòVoucher
VoucherAssistRecord£¨¸¨ÖúÕË£©µÄFEntryIDÖ¸ÏòVoucherEntry
¸¨ÖúÕË£¨VoucherAssistRecord£©-----¸¨ÖúÕ˺á±í£¨AssistantHG£©ÊÇ1-1¹ØÏµ
¿Í»§¶ËºÍ·þÎñ¶ËµÇ½EASµÄ²¿·Ö´úÂë 2006Äê4ÔÂ
Context userCtx;
String url = "tcp://localhost:11034"; ORMRPCServiceLocator.setCurrentServiceURL(url); BOSObjectFactory.clearSession (url);
ILoginModule login = LoginModuleFactory.getRemoteInstance(); Locale l2 = new Locale("L2");
LoginContext loginContext = new LoginContext("user", "", "eas", "EASDEMO",l2, "192.168.0.153
", "lizhuang");
loginContext.put("dbType", new Integer(0)); loginContext.put("dbTypeCode", new Integer(0));
System.out.println (" before Login in ok "); userCtx = login.fullLogin(loginContext);
System.out.println(" after Login in ok ");
ϱßÕâ¸ö·þÎñ¶ËµÇ½ÊÇ´íÎóµÄ
Context userCtx;
ILoginModule login = LoginModuleFactory.getLocalInstance ; Locale l2 = new Locale("L2");
LoginContext loginContext = new LoginContext("user", "", "eas", "EASDEMO",l2, "192.168.0.153
", "lizhuang");
userCtx = login.fullLogin(loginContext); ²¹³äÕâÊÇ·þÎñ¶ËµÄÒ»¸öµÇ½´úÂë
Locale CHINESE = new Locale("L2");
MetaDataLoaderFactory.setClientMetaDataPath(UIConfig.getMetaDataDir()); LoginHelper.login("yaya", "", "eas", "wens1018", CHINESE); ²½Ö裺1.ÉèÖÃÔªÊý¾Ý·¾¶ 2.µ÷Óõǽ½Ó¿Ú
ÐÔÄܲâÊԽű¾Ò²ÊÇÔÚ´Ë»ù´¡ÉÏдҵÎñ²âÊԽű¾µÄ
¶Á"ģʽϵÁÐ̸֮Facadeģʽ"Ëæ±Ê 2007Äê1ÔÂ
¿´µ½"ÃÅÃæ"Õâ¸ö´Ê£¬´ó¼ÒÒ»¶¨¶¼¾õµÃºÜÊìϤ¡£²»´í£¬Õâ¸ö´ÊÕýÊǽèÓÃÁËÎÒÃÇÈÕ³£Éú»îÖеÄ"ÃÅÃæ"µÄ¸ÅÄî¡£ÈÕ³£Éú»îÖеÄ"ÃÅÃæ"£¬ÕýÊÇÎÒÃÇÂò¶«Î÷µÄµØ·½¡£Òò´Ë¿ÉÒÔÕâô˵£¬"ÃÅÃæ"¾ÍÊÇÕâôһ¸öµØ·½£¬ËüÃǸú¸÷ÖÖÉÌÆ·µÄÉú²úÉÌ´ò½»µÀ£¬ÊÕ¼¯ÉÌÆ·ºó£¬ÔÙÂô¸øÎÒÃÇ¡£»»¾ä»°Ëµ£¬Èç¹ûûÓÐ"ÃÅÃæ"£¬ÎÒÃǽ«²»µÃ²»Ö±½Ó¸ú¸÷ÖÖ¸÷ÑùµÄÉú²úÉÌÂòÉÌÆ·£»¶øÓÐÁË"ÃÅÃæ"£¬ÎÒÃÇÒªÂò¶«Î÷£¬Ö±½Ó¸ú"ÃÅÃæ"´ò½»µÀ¾Í¿ÉÒÔÁË¡£
--Àí½âΪÉ̵êµÄÃÅÃæ£¬·ÒëµÄ̫ǣǿ£¬²»ÈçÏëÏóΪҽԺµÄǰ̨£¬Óп´µ½¹ýÒ»¸ö¸üÓкÃÍæµÄ±ÈÓ÷£º
FACADE¡ªÎÒÓÐÒ»¸öרҵµÄNikonÏà»ú£¬ÎÒ¾Íϲ»¶×Ô¼ºÊÖ¶¯µ÷¹âȦ¡¢¿ìÃÅ£¬ÕâÑùÕÕ³öÀ´µÄÕÕÆ¬²Åרҵ£¬µ«MM¿É²»¶®ÕâЩ£¬½ÌÁ˰ëÌìÒ²²»»á¡£ÐÒºÃÏà»úÓÐFacadeÉè¼ÆÄ£Ê½£¬°ÑÏà»úµ÷Õûµ½×Ô¶¯µµ£¬Ö»Òª¶Ô׼Ŀ±ê°´¿ìÞÍÐÐÁË£¬Ò»ÇÐÓÉÏà»ú×Ô¶¯µ÷Õû£¬ÕâÑù MMÒ²¿ÉÒÔÓÃÕâ¸öÏà»ú¸øÎÒÅÄÕÅÕÕÆ¬ÁË¡£
FacadeģʽÕýÊÇÕâÑùÒ»¸ö"ÃÅÃæ"£ºÎÒÃDZ¾À´ÐèÒªÓëºǫ́µÄ¶à¸öÀà»òÕß½Ó¿Ú´ò½»µÀ£¬¶øFacadeģʽÊǿͻ§¶ËºÍºǫ֮́¼ä²åÈëÒ»¸öÖмä²ã¡ª¡ªÃÅÃæ£¬Õâ¸öÃÅÃæ¸úºǫ́µÄ¶à¸öÀà»ò½Ó¿Ú´ò½»µÀ£¬¶ø¿Í»§¶ËÖ»ÐèÒª¸úÃÅÃæ´ò½»µÀ¼´¿É¡£
--Õâ¸ö½âÊ͵ĺܺã¬FacadeģʽÊÇclientÓëserver½»»¥¹ý³ÌµÄÒ»¸öÓÅ»¯£¬ÊǼò»¯"¿Í»§"Óë"·þÎñ"½»»¥µÄÒ»ÖÖÊֶΣ¬×¢ÒâÕâÊÇÒ»¸ö½»»¥ÓÅ»¯¡£ ʹÓÃFacadeģʽ¿ÉÒÔ˵ÊǺǫ́Éè¼ÆºÍ±àÂëÈËÔ±µÄÒ»¸ö±Ø±¸ËØÖÊ¡£ÎÒ²»Ö¹Åöµ½¹ýÒ»¸öÕâÑùµÄºǫ́¿ª·¢ÈËÔ±£¬ËûÃÇÈÏΪֻҪ°Ñºǫ́¹¦ÄÜÍê³ÉÁ˾ÍÍòÊ´󼪣¬¶øÃ»ÓÐÕ¾ÔÚºǫ́ʹÓÃÕߵĽǶÈÀ´¿´Ò»¿´×Ô¼ºÐ´³öÀ´µÄ´úÂë¡£Æäʵ£¬ÎÒÃÇд³öÀ´µÄºǫ́´úÂëÊÇÒª¸ø±ðÈËʹÓõģ¬ËùÒÔÎÒÃÇÌṩ¸øÊ¹ÓÃÕߵĽӿÚÒªÔ½¼òµ¥Ô½ºÃ£¬Õâ²»µ¥ÊǶÔʹÓÃÕߺã¬Í¬Ê±¶Ô¿ª·¢ÕßÒ²ÊǺô¦¶à¶àµÄ£¬ÖÁÉÙÄãµÄ½Ó¿Ú¼òµ¥ÁË£¬ÄãºÍʹÓÃÕߵĽ»Á÷¾ÍÈÝÒ×ÁË¡£
¶øFacadeģʽÖеÄFacadeÀàÕýÊÇÕâÑùÒ»¸öÓû§½Ó¿Ú£¬ËüºÍºǫ́ÖеĶà¸öÀà²úÉúÒÀÀµ¹ØÏµ£¬¶øºǫ́µÄ¿Í»§ÀàÔòÖ»¸úFacadeÀà²úÉúÒÀÀµ¹ØÏµ¡£ÎªÊ²Ã´ÒªÕâô×ö£¿ÆäÖеÄÔÒòÊ®·Ö¼òµ¥£ººǫ́µÄ¿ª·¢ÕßÊìϤËû×Ô¼º¿ª·¢µÄ¸÷¸öÀ࣬Ҳ¾ÍÈÝÒ×½â¾öºÍ¶à¸öÀàµÄÒÀÀµ¹ØÏµ£¬¶øºǫ́µÄʹÓÃÕßÔò²»Ì«ÊìϤºǫ́µÄ¸÷¸öÀ࣬²»ÈÝÒ×´¦ÀíºÍËüÃÇÖ®¼äµÄÒÀÀµ£»Òò´Ë£¬ºǫ́µÄ¿ª·¢Õß×Ô¼ºÔÚFacadeÀàÖнâ¾öÁËÓëºǫ́¶à¸öÀàÖ®¼äµÄÒÀÀµ£¬ºǫ́µÄʹÓÃÕßÖ»ÐèÒª´¦ÀíºÍFacadeÀàµÄÒÀÀµ¼´¿É¡£ --ʹÓÃFacadeģʽ¸ü¶àµÄÊÇΪÁ˵ÚÈý·½µ÷ÓÃÆðÀ´¼òµ¥¿ìËÙ£¬°Ñ¸´ÔÓµÄÊÂÎñÂß¼·â×°ÆðÀ´ ºÃÁË£¬Ïл°ÉÙ˵¡£ÎÒÃÇÏÂÃæ¾ÍÒÔ¼¸¸ö¾ßÌåµÄÀý×ÓÀ´¿´Ò»¿´FacadeģʽÊÇÔõôʹÓõġ£Êµ¼Ê±à³ÌÖУ¬ÄÜʹÓõ½FacadeģʽµÄÇé¿öÓкܶ࣬ÒÔϾͷÖÁ½ÖÖÇé¿öÀ´¾ßÌå˵һ˵FacadeģʽµÄʹÓ᣿ÉÄÜ»¹»áÓÐÆäËûµÄÇé¿ö£¬´ó¼ÒÔÚʵ¼ùÖÐÒ²¿ÉÒÔ¼ÓÒÔ²¹³ä¡£
µÚÒ»ÖÖÇé¿ö£¬¿Í»§ÀàҪʹÓõŦÄÜ·Ö²¼ÔÚ¶à¸öÀàÖУ¬ÕâЩÀà¿ÉÄÜÏ໥֮¼äûÓÐʲô¹ØÏµ£»¿Í»§ÔÚʹÓúǫ́µÄʱºò£¬±ØÐëÏȳõʼ»¯ÒªÊ¹Óõ½µÄ¹¦ÄÜËùÔÚµÄÀ࣬Ȼºó²ÅÄÜʹÓá£Õâʱºò£¬ÊʺϽ«ÕâЩ¹¦Äܼ¯ÖÐÔÚÒ»¸öFacadeÀàÀ»¹¿ÉÒÔÌæÓû§×öһЩ³õʼ»¯µÄ¹¤×÷£¬ÒÔ¼õÇáÓû§µÄ¸ºµ£¡£
ÀýÈ磬ÒÔÉ̵êΪÀý¡£¼ÙÈçÉ̵êÀï³öÊÛÈýÖÖÉÌÆ·£ºÒ·þ¡¢µçÄÔºÍÊÖ»ú¡£ÕâÈýÖÖÉÌÆ·¶¼ÊÇÓɸ÷×ÔµÄÉú²ú³§ÉÌÂô³öµÄ£¬ÈçÏ£º public class CoatFactory {
public Coat saleCoat() { ¡¡
return coat; } ¡¡ }
È»ºóÊǵçÄԵij§¼ÒÀࣺ
public class ComputerFactory {
public Computer saleComputer() { ¡¡
return computer; } ¡¡ }
×îºóÊÇÊÖ»úÉÌÀࣺ
public class MobileFactory {
public Mobile saleMobile() { ¡¡
return mobile; } ¡¡ }
Èç¹ûûÓÐÉ̵꣬ÎÒÃǾͲ»µÃ²»·Ö±ð¸ú¸÷×ÔµÄÉú²úÉÌ´ò½»µÀ£¬ÈçÏ£º
//ÂòÒ·þ
CoatFactory coatFactory = new CoatFactory(); coatFactory.saleCoat(); //ÂòµçÄÔ
ComputerFactory computerFactory = new ComputerFactory(); computerFactory.saleComputer (); //ÂòÊÖ»ú
MobileFactory mobileFactory = new MobileFactory(); mobileFactory.saleMobile();
¶ÔÎÒÃǹ˿ÍÀ´Ëµ£¬ºÍÕâô¶àµÄ³§¼ÒÀà´ò½»µÀ£¬ÕâÏÔÈ»Êǹ»Âé·³µÄ¡£
ÕâÑù£¬ÎÒÃǾÍÐèÒª´´½¨Ò»¸öÉ̵êÀàÁË£¬ÈÃÉ̵êÀàºÍÕâЩ³§¼Ò´ò½»µÀ£¬ÎÒÃÇÖ»ºÍÉ̵êÀà´ò½»µÀ¼´¿É£¬ÈçÏ£º
public class Store {
public Coat saleCoat() {
CoatFactory coatFactory = new CoatFactory(); return coatFactory.saleCoat(); }
public Computer saleComputer() {
ComputerFactory computerFactory = new ComputerFactory(); return computerFactory.saleComputer(); }
public Mobile saleMobile() {
MobileFactory mobileFactory = new MobileFactory(); return mobileFactory.saleMobile ();