实验内容请使用简单工厂模式设计一个创建不同几何形状,如圆形、方形和三角形实例的描图员(ArtTracer)系统。每个几何图形都要有画出draw()和擦去erase()两个方法。为了更好的在系统中增加其它图形,请用工厂方法模式重构。为了能够在系统中创建几何图形以外的内容,如文字等,请使用抽象工厂模式重构。代码:工厂模式:Shape类及其他的继承类:usingSystem;;;;namespaceShape{publicinterfaceShape{voiddraw();voiderase();}lassCircle:Shape{publicvoiddraw(){("画圆");}publicvoiderase(){("擦去圆");}}lassRectangle:Shape{publicvoiddraw(){("画方形");}publicvoiderase(){("擦去方形");}}lassTriangle:Shape{publicvoiddraw(){("画三角形");}publicvoiderase(){("擦去三角形");}}}工厂类:namespaceShape{publicabstractclassFactor{publicabstractShapefactor();}lassFactorCircle:Factor{publicoverrideShapefactor(){returnnewCircle();}}lassFactorRectangle:Factor{publicoverrideShapefactor(){returnnewRectangle();}}lassFactorTriangle:Factor{publicoverrideShapefactor(){returnnewTriangle();}}}工厂模式测试代码:namespaceShape{classProgram{staticvoidMain(string[]args){("工厂模式测试:");Factorfactorshape=newFactorCircle();().draw();().erase();factorshape=newFactorRectangle();().draw();().erase();factorshape=newFactorTriangle();().draw();().erase();();}}}增加一个非图形类实现抽象工厂模式:namespaceShape{publicabstractclassWord{publicabstractvoiddraw
工厂模式及抽象工厂模式代码 来自淘豆网www.taodocs.com转载请标明出处.