上一页 1 2 3 4 5 6 ··· 10 下一页
摘要: 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。1、简单工厂模式 public class Product{//定义产品属性public double Attribute1{get;set;}public double Attribute2{get;set;}//定义虚方法GetResultpublic virtual double GetResult(){double result = 0;return result;}}//具体产品的实现方法public class ConcreteProduct1:Product{//重写Product的Get 阅读全文
posted @ 2011-03-17 21:54 长风一剑 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。1、基本原型模式原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需要知道任何创建的细节。public abstract class Prototype{//属性private string id;//构造方法public Prototype(string id){this.id = id;}public string Id{get { return id; }}//克隆自身的接口public abstract Prototype Clone();}public class ConcretePrototype1:Prot 阅读全文
posted @ 2011-03-16 22:31 长风一剑 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 将一个复杂对象的构建和它的表示分离,使得同样的构建过程可以创建不同的表示。1、基本建造者模式 建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果用了建造者模式,那么用户只需指定需要建造的类型就可以得到它们,而具体建造的过程和细节就不需要知道了。 public class Product{IList<string> parts = new List<string>();//添加产品部件public void Add(string part){parts.Add(part);}public void Sh 阅读全文
posted @ 2011-03-15 22:02 长风一剑 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。1、基本单例模式 让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。最好的办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。public class Singleton{private static Singleton instance;//构造方法为private,这样就堵死了外界用new创建此实例的可能private Singleton(){}//此方法是获得本实例的唯一全局访问点public static Singleton GetInstance(){//若实 阅读全文
posted @ 2011-03-14 23:04 长风一剑 阅读(193) 评论(0) 推荐(0) 编辑
摘要: 1、SRP,单一职责原则:就一个类而言,应该仅有一个引起它变化的原因 一个类只能有一个功能,以便于以后的扩展,可如果没有变化的征兆可以先不用这个原则,等到变化发生时在重构。 2、OCP,开放封闭原则:软件实体应当对扩展开放,对修改关闭,即软件实体应当在不修改的前提下扩展 一个类要改变功能,应该在不改变原有方法的前提下扩展。一般可以通过委托实现。它的关键在于抽象,以及将所有变化封装。3、LSP,Liskov替换原则:子类应当可以替换父类并出现在父类能够出现的任何地方 继承时,父类的方法都要在子类中实现或者重写。4、DIP,依赖倒置原则:依赖于抽象而不是实现 父类不应该依赖子类,他们都该依赖于抽. 阅读全文
posted @ 2011-03-10 22:46 长风一剑 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 一、类 //类 public class Base { //属性 public string name { get; set; } public string type { get; set; } //构造方法 public Base(string name, string type) { this.name = name; this.type = type; } //重载 public Base() { } public virtual string value() { return ""; } }类是具有相同属性和功能的对象的抽象的集合,一般里面含有属性和方法,其中构造 阅读全文
posted @ 2011-03-10 21:53 长风一剑 阅读(245) 评论(0) 推荐(0) 编辑
摘要: pdfContentByte 到目前为止,我们已经使用了简单的iText,我们已经添加了文本、图片、段落、章节、列表、表格等,没有涉及到布局问题。Itext分割文本到每页中,并将每个单词、句子、段落布置到页面上,但有时我们并不需要这种自动格式,有时我们希望将一些图象或者文本放置在某页的指定位置,为实现该功能,我们将使用PdfContentByte类。 为代替第一章,仅用PdfWriter类的getInstance方法是不够的,你必须真实地拥有一个PdfWriter对象,你可以通过在使用Writer对象中使用getDirectContent()方来得到该对象。例: PdfWriter write 阅读全文
posted @ 2011-03-06 12:38 长风一剑 阅读(498) 评论(0) 推荐(0) 编辑
摘要: 本地转向 有时你需要一个允许读者从文档的一个地方跳转到另外一个地方的链接,你可以通过类Chunk的setLocalGoto 和setLocalDestination两个方法实现,例: Chunk localgoto = new Chunk("this word", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.NORMAL, new Color(0, 0, 255))).setLocalGoto("test"); Chunk destination = new Chunk("local 阅读全文
posted @ 2011-03-06 12:38 长风一剑 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 本章原文讲了许多字体的使用技巧,但就是没有讲如何使用中文,因此,意义不大,再说,如果不支持中文,前面的也就白翻译了,因此,根据原文讲到的一些知识,我摸索出汉字的使用方法,自己写了本章内容,应该算是“原创”了吧^_^(哎呀!谁拿鸡蛋扔我……)。 Windows中一般都是使用TrueType字体,每个中文版Windows操作系统均默认安装了宋体、仿宋、黑体和楷体四种字体,你还可以安装其他第三方字体,如安装了Office 2000后,会自动安装华文行楷等字体,比较奇怪的是,在PDF文件中插入了一种本计算机才有的字体,在打开PDF文件的计算机上虽然没有该字体,但仍然能正常显示!这有别于Word文件,W 阅读全文
posted @ 2011-03-06 12:37 长风一剑 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 本章主要介绍了如何利用iText控件生成XLM文档和(X)HTML文档,但我们对这些并不感兴趣,故只介绍本章中提到的将XML转为PDF。 在第一章中,我们通过5步生产一个PDF文件,为了将一个XML文件转换为PDF文件,只需重写第3和第4步,第5步由解析器自动处理。 //第3步:创建一个解析器并设置文档句柄: iTextHandler h = new iTextHandler(document); //第4步,转换该文档: h.Parse("Chap0701.xml"); 示例代码见示例代码0702 RTF包 RTF包是基于iText包扩展出来的,允许iText除生成PDF 阅读全文
posted @ 2011-03-06 12:36 长风一剑 阅读(313) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 10 下一页