weigtcp是什么意思思

博客访问: 44471
博文数量: 44
注册时间:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: Linux
&&& 享元模式是对象的结构模式[GOF95]。享元模式以共享的方式高效的支持大量的细粒度对象。
//单纯享元模式的结构//抽象享元角色abstract public class Flyweight{&&& abstract public void operation(String state);}//具体享元(ConcreteFlyweight)角色public class ConcreteFlyweight extends Flyweight{&&& private Character intrinsicState =
&public ConcreteFlyweight(Character state)&{ &&this.intrinsicState =&}&&public void operation(String state)&{ &&System.out.print( "\nIntrinsic State = " + intrinsicState +&&&&&&&&&&& ", Extrinsic State = " + state);&}}//享元工厂(FlyweightFactory)角色import java.util.Mimport java.util.HashMimport java.util.I
public class FlyweightFactory{&&& private HashMap flies = new HashMap();&&& /**&&&& * @link aggregation&&&& * @directed&&&& * @clientRole Flyweights&&&& */&&& private Flyweight lnkF
&public FlyweightFactory(){}&&public synchronized Flyweight factory(Character state)&{ &&if ( flies.containsKey( state ) )&&&&&&& {&&&&&&&&&&& return (Flyweight) flies.get( state );&&&&&&& }&&&&&&& else&&&&&&& {&&&Flyweight fly = new ConcreteFlyweight( state );&&&&&&&&&&& flies.put( state , fly);&&&&&&&&&&&&&&&&&& }&}&&public void checkFlyweight()&{ &&F&&&&&&& int i = 0;
&&&&&&& System.out.println("\n==========checkFlyweight()=============");&&for ( Iterator it = flies.entrySet().iterator() ; it.hasNext() ;& )&&&&&&& {&&&Map.Entry e = (Map.Entry) it.next();&&&&&&&&&&& System.out.println("Item " + (++i) + " : " + e.getKey());&&&&&&& }&&&&&&& System.out.println("==========checkFlyweight()=============");&}
}//客户端(Client)角色public class Client{&&& private static FlyweightF
&&& static public void main(String[] args)&{ &&factory = new FlyweightFactory();
&&Flyweight fly = factory.factory(new Character('a'));&&fly.operation("First Call");&&&&fly = factory.factory(new Character('b'));&&fly.operation("Second Call");&&&&fly = factory.factory(new Character('a'));&&fly.operation("Third Call");&&&&// intrinsic Flyweight&&factory.checkFlyweight();&} }
//复合享元模式的结构//抽象享元角色abstract public class Flyweight{&&& abstract public void operation(String state); }//具体享元(ConcreteFlyweight)角色public class ConcreteFlyweight extends Flyweight{&&& private Character intrinsicState =
&public ConcreteFlyweight(Character state)&{ &&this.intrinsicState =&}&&public void operation(String state)&{ &&System.out.print( "\nInternal State = " +&&&&&&&&&&& intrinsicState + " Extrinsic State = " + state );&}}//复合享元(UnsharableFlyweight)角色import java.util.Mimport java.util.HashMimport java.util.I
public class ConcreteCompositeFlyweight extends Flyweight {&&& private HashMap flies = new HashMap(10);
&&& /**&&&& * @link aggregation&&&& * @directed&&&& * @clientRole Composite&&&& */&&& private F
&public ConcreteCompositeFlyweight()&{ &}&&public void add(Character key, Flyweight fly)&{ &&flies.put(key, fly);&}&&public void operation(String extrinsicState)&{&&&&&&& Flyweight fly =&
&&for ( Iterator it = flies.entrySet().iterator() ; it.hasNext() ;& )&&&&&&& {&&&Map.Entry e = (Map.Entry) it.next();&&&&&&&&&&& fly = (Flyweight) e.getValue();
&&&&&&&&&&& fly.operation(extrinsicState);&&&&&&& }&}}//享元工厂(FlyweightFactory)角色import java.util.Mimport java.util.HashMimport java.util.I
public class FlyweightFactory{&&& private HashMap flies = new HashMap();&&& /**&&&& * @link aggregation&&&& * @directed&&&& * @clientRole Flyweights&&&& */&&& private Flyweight lnkF
&public FlyweightFactory(){}
&public Flyweight factory(String compositeState)&{ &&ConcreteCompositeFlyweight compositeFly = new ConcreteCompositeFlyweight();&&&&int length = compositeState.length();&&&&&&& Character state =
&&for(int i = 0; i < i++)&&{ &&&state = new Character(compositeState.charAt(i) );&&&&&&&&&&& System.out.println("factory(" + state + ")");&&&compositeFly.add( state, this.factory( state) );&&}&&return compositeF&&& }
&public Flyweight factory(Character state)&{ &&if ( flies.containsKey( state ) )&&&&&&& {&&&&&&&&&&& return (Flyweight) flies.get( state );&&&&&&& }&&&&&&& else&&&&&&& {&&&Flyweight fly = new ConcreteFlyweight( state );&&&&&&&&&&& flies.put( state , fly);&&&&&&&&&&&&&&&&&& }&}&&public void checkFlyweight()&{ &&F&&&&&&& int i = 0 ;
&&&&&&& System.out.println("\n==========checkFlyweight()=============");&&for ( Iterator it = flies.entrySet().iterator() ; it.hasNext() ;& )&&&&&&& {&&&Map.Entry e = (Map.Entry) it.next();&&&&&&&&&&& System.out.println( "Item " + (++i) + " : " + e.getKey());&&&&&&& }&&&&&&& System.out.println("\n==========checkFlyweight()=============");&}
}//客户端(Client)角色public class Client{&&& private static FlyweightF
&&& public static void main(String[] args)&{ &&factory = new FlyweightFactory();
&&F/*&&&&&&& fly = factory.factory(new Character('a'));&&fly.operation();&&&&fly = factory.factory(new Character('b'));&&fly.operation();&&&&fly = factory.factory(new Character('a'));&&fly.operation();*/&&&&&&& fly = factory.factory("abc");&&&&&&& fly.operation("Composite Call");&&// intrinsic Flyweight&&factory.checkFlyweight();&} }
一个咖啡摊的例子
package com.javapatterns.flyweight.
public abstract class Order{& &&& public abstract void serve();
&&& public abstract String getFlavor();
package com.javapatterns.flyweight.
public class Flavor extends Order{& &private S&&public Flavor(String flavor)&{&&&& this.flavor =&}&&public String getFlavor()&{&&&& return this.&}&&public void serve()&{&&&& System.out.println("Serving flavor " + flavor );&}}
package com.javapatterns.flyweight.
public class FlavorFactory{& &/**& * @label Flyweight& * @supplierCardinality 0..*& * @link aggregation& */&private Order[] flavors = new Flavor[10];&private int rdersMade = 0;&&& private int totalFlavors = 0 ;&&public Order getOrder(String flavorToGet)&{&&&& if (ordersMade > 0)&&&& {&&&&&&&& for (int i = 0; i < ordersM i++)&&&&&&&& {&&&&&&&&&&&& if (flavorToGet.equals((flavors[i]).getFlavor()))&&&&&&&&&&&& {&&&&&&&&&&&&&&&& return flavors[i];&&&&&&&&&&&& }&&&&&&&& }&&&& }&&&& flavors[ordersMade] = new Flavor(flavorToGet);&&&&&&& totalFlavors++;&&&& return flavors[ordersMade++];&}&&public int getTotalFlavorsMade()&{&&&&& return totalF&}}
package com.javapatterns.flyweight.
public class Client{&//the flavors ordered
&&& /**&&&& * @supplierCardinality 0..* &&&& */&private static Order[] flavors = new Flavor[100];
&private static int rdersMade = 0;&private static FlavorFactory flavorF& &private static void takeOrders(String aFlavor)&{&&&& flavors[ordersMade++] = flavorFactory.getOrder(aFlavor);&}& &public static void main(String[] args) &{&&&& flavorFactory = new FlavorFactory();&&&& &&&& takeOrders("Black Coffee");&&&& takeOrders("Capucino");&&&& takeOrders("Espresso");&&&& takeOrders("Espresso");&&&& takeOrders("Capucino");&&&& takeOrders("Capucino");&&&& takeOrders("Black Coffee");&&&& takeOrders("Espresso");&&&& takeOrders("Capucino");&&&& takeOrders("Black Coffee");&&&& takeOrders("Espresso");
&&&& for (int i = 0; i < ordersM i++)&&&& {&&&&&&&& flavors[i].serve();&&&& }
&&&& System.out.println("\nTotal teaFlavor objects made: " +&&&&&&&&&&& flavorFactory.getTotalFlavorsMade());&}}
咖啡屋的例子
package com.javapatterns.flyweight.
public abstract class Order{& &&& public abstract void serve(Table table);
&&& public abstract String getFlavor();
&&& /** @link dependency */&&& /*#Table lnkT*/}
package com.javapatterns.flyweight.
public class Flavor extends Order{& &private S&&public Flavor(String flavor)&{&&&& this.flavor =&}&&public String getFlavor()&{&&&& return this.&}&&public void serve(Table table)&{&&&& System.out.println("Serving table " + table.getNumber() + " with flavor " + flavor );&}}
package com.javapatterns.flyweight.
public class FlavorFactory{& &/**& * @label Flyweight& * @link aggregation& */&private Order[] flavors = new Flavor[10];&private int rdersMade = 0;&&& private int totalFlavors = 0 ;&&public Order getOrder(String flavorToGet)&{&&&& if (ordersMade > 0)&&&& {&&&&&&&& for (int i = 0; i < ordersM i++)&&&&&&&& {&&&&&&&&&&&& if (flavorToGet.equals((flavors[i]).getFlavor()))&&&&&&&&&&&& {&&&&&&&&&&&&&&&& return flavors[i];&&&&&&&&&&&& }&&&&&&&& }&&&& }&&&& flavors[ordersMade] = new Flavor(flavorToGet);&&&&&&& totalFlavors++;&&&& return flavors[ordersMade++];&}&&public int getTotalFlavorsMade()&{&&&&& return totalF&}}
package com.javapatterns.flyweight.
public class Table{&&&
&&& public Table(int number)&&& {&&&&&&& this.number =&&& }
&&& public void setNumber(int number)&&& {&&&&&&& this.number =&&& }
&&& public int getNumber()&&& {&&&&&&&&&& }
package com.javapatterns.flyweight.
public class Client{&//the flavors ordered
&&& /**&&&& * @label Creates &&&& */&private static Order[] flavors = new Flavor[100];
&private static int rdersMade = 0;&private static FlavorFactory flavorF
&&& /** @link dependency */&&& /*#Table lnkT*/& &private static void takeOrders(String aFlavor)&{&&&& flavors[ordersMade++] = flavorFactory.getOrder(aFlavor);&}& &public static void main(String[] args) &{&&&& flavorFactory = new FlavorFactory();&&&& &&&& takeOrders("Black Coffee");&&&& takeOrders("Capucino");&&&& takeOrders("Espresso");&&&& takeOrders("Espresso");&&&& takeOrders("Capucino");&&&& takeOrders("Capucino");&&&& takeOrders("Black Coffee");&&&& takeOrders("Espresso");&&&& takeOrders("Capucino");&&&& takeOrders("Black Coffee");&&&& takeOrders("Espresso");
&&&& for (int i = 0; i < ordersM i++)&&&& {&&&&&&&& flavors[i].serve(new Table(i));&&&& }
&&&& System.out.println("\nTotal teaFlavor objects made: " +&&&&&&&&&&& flavorFactory.getTotalFlavorsMade());&}}
阅读(270) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。出自 MBA智库百科()
重量单(Weight List/Weight Note)
  重量单是按照装货重量(Shipping Weight)成交的货物,在装运时必须向提供的一种证明文件,它证明所装货物的重量与规定相符,货到目的港有缺重量时出口商不负责任。若按照卸货重量(Delivered Weight)成交的货物,如果货物缺重量时,进口商必须提供重量证明书,才可向、轮船公司或提出。重量单上所反映的内容除了上的内容以外,需要尽量清楚地表明商品每箱毛、以及总重量的情况,供买方安排、存仓时参考。
  重量单的缮制要点与缮制装箱单基本相同,但是缮制重量单时应注意以下区别。
  1、重量单中应注明发票标明的货物重量,并且要与其他单据上载明的货物重量一致。
  2、重量单必须注明出单日期,这与装箱单的规定不同。
  3、重量单的出单人处必须注明全称并且有权签署。
  4、在海运以外的运输方式下,如果规定须提交重量证明,但并未规定需要独立的重量文件时,不必出具重量单,只需或其在上加注货物重量即可。
  出口企业不仅在出口时需要提供装箱单、重量单,信用证往往也将之作为结汇单据。实际上,装箱单、重量单和尺码单(Packing List, Weight List and Measurement List)都是的一种,是的不同规格条件,不同花色和不同重量逐一分别详细列表说明的一种。它是买方收货时核对货物的品种、花色、尺寸、规格和海关验收的主要依据。
  对于不同特性的货物,进口商可能对某一或某几方面(例如、重量、体积、尺码)比较关注,因此希望对方重点提供某一方面的单据。它包括不同名称的各式单据,例如Packing List、Weight List、 Measurement List、 Packing Note and Weight Note……它们的制作方法与主要内容基本一致。装箱单着重表示包装情况,重量单着重说明重量情况,尺码单则着重商品体积的描述。
  它们均具有以下特点:
  1、、重量单和尺码单为了保持与一致,在号码和日期两栏与完全相同。
  2、装箱单、重量单和尺码单一般不显示收货人、价格、装运情况,对货物描述一般都使用统称概述。
  3、装箱单着重表现货物的包装情况,从最小包装到最大包装的,一一列明。而对于重量和尺码内容,一般只体现累计总额。重量单在装箱单的基础上,详细表示货物的、净重、等。
  4、装箱单、重量单和尺码单的制作要以信用证、、备货单、出货单为凭据。
  5、如果信用证上要求在装箱单、重量单和尺码单上填写一些特殊条款,应照办。
苏定东,王群飞.《国际贸易单证实务》[M].出版社,2006.7
本条目对我有帮助2
&&如果您认为本条目还有待完善,需要补充新内容或修改错误内容,请。
本条目相关文档
本条目由以下用户参与贡献
(window.slotbydup=window.slotbydup || []).push({
id: '224685',
container: s,
size: '728,90',
display: 'inlay-fix'
评论(共0条)提示:评论内容为网友针对条目"重量单"展开的讨论,与本站观点立场无关。
发表评论请文明上网,理性发言并遵守有关规定。
以上内容根据网友推荐自动排序生成loveweigt的贴吧
该用户已隐藏个人动态

我要回帖

更多关于 cp是什么意思 的文章

 

随机推荐