`
文章列表
Agile Java Report Develop Framework for China Style Report Based on Open Source Component: JExcelAPI Zhang Yongji   Ningbo EastSea Linefan Technology Co., Ltd, Ningbo 315103, P.R.China   Abstract:   Reports play a very important role in enterprise application. Report developer always spend ...
        这是我在做项目时,积累的一个轻量级报表框架,说他轻量级,是因为就是几个类,解决了特定的问题,适用于用编程方式生成Excel复杂数据报表的情况。        附件包含ppt,类图,源码。        我还就这个问题,写了一篇英文论文,惭愧惭愧,有糊弄人之嫌。    
     这是一篇我在以前公司内部交流的ppt,这个就当点心了,我的博客里还有很多关于设计模式的干货。  
        我本来想分两篇讲的,再讲一个实践篇。可是我只是实践过测试驱动,重构,简单设计,持续集成等实践,其它都是只知理论。管理上,公司有自己的规定,很难自己去实践,实践篇也就难产了。        这一篇主要目的是为了在公司内宣传,让大家认识敏捷。         这篇演讲,我最得意的是引入的部分,引用了很多图片,其中有巴乔94年世界杯失望的背影,还有我最喜欢的曼联队的全家福照片。  
  这是我在公司演示如何使用测试驱动开发方法和重构,附件报了ppt,源程序,还有基本关于单元测试的电子书。 包含内容: 1. 猜数字程序源码。 2. 测试驱动开发与代码重构PPT。(测试驱动开发及代码重构.ppt) 3. 猜数字程序的逆向工程类图(GuessNumberModel.bmp)。 4. NUnit使用截图(NUnit 使用简介.jpg) 5. 单元测试电子书。 说明: 1. NUnit下载地址:http://www.nunit.org/index.php?p=download 2. JUnit: http://www.junit.org, Eclipse已经集成JUnit测试 ...
        这是我比较早在公司做的自以为很不错的一个演讲,主题涵盖很广。起因是我一直以为在企业里,解决问题型的人是最受欢迎的,对企业来说也是最重要的。         我看到好多同事,经验丰富,解决问题能力都很强。我也在思考,这些能力是如何产生的,研究了一下,就这样,产生了这次演讲。         解决问题,特别是巧妙的解决问题依赖与创造力。而知识能够给解决问题创造丰富的上下文。         在这个演讲里,我分别阐述了解决问题,创造力,最后就软件开发中的一些思维和解决问题进行结合,然后介绍了一点自己知识管理的经验。         我主要的参考资料是这本书 。
   你说为什么皮带上初始打的孔怎么那么大呢?我二尺六够不到最小的孔。      估计这只适合当小老板,往下看,看不到脚的那种肚子。      厂家为了打这几个孔,还得加上一道工序,对一般人,这些孔几乎没用。      还不如根据一般人的平均裤腰打几个孔,这个应该是正态分布的吧!      这样就不用我在超市那里排队,最后服务员还没工夫,自己动手打的。
参观者模式主要对一组固定结构的对象进行访问,一般和组合模式一起使用。   abstract class Hardware{ protected double price; protected double getPrice(); void accept(IComputerVisitor visitor); } class Mainboard extends Hardware{ void accept(IComputerVisitor visitor){ visitor.visitMainboard(this); } } class Memory ex ...
  abstract class TravelTemplate{ public void travel(){ //上车 getOnBus(); //去目的地 goto(“目的地”) //吃饭 eat(); //下车 getOffBus(); //如果想拍照,就拍照 if(wantToTakePhoto){ takePhoto(); } //如果想上厕所,就上厕所 if(wantToGotoRestroom){ got ...
//密钥对生成接口 interface IKeyPairGenerable{ KeyPair create(); } class KeyPair{ } class DesKeyPairGenerator implements IKeyPairGenerable{ } class IdeaKeyPairGenerator implements IKeyPairGenerable{ } class RsaKeyPairGenerator implements IKeyPairGenerable{ } class KeyPairManager{ private IKeyPairG ...
//主题,这里是快餐店 class SnackShop{ private List<Customer> customers = new Arraylist(); public void add(Customer customer){ customers.add(customer); } //通知,对订阅主题的客户发布通知,比如“外卖已好” public void notify(){ for(Customer c: customers){ c.getFood(); } } } //订阅者,这里是 ...
  interface ICommand{ void execute(IReceiver receiver); } //发送传真命令 class SendFaxCommand implenments ICommand{ void execute(IReceiver receiver){ receiver.do(this); } } class AttackCommand implements ICommand{ void execute(IReceiver receiver){ receiver.do(this); } } class ...
  class FileDownloader( public download(File file); } class File{ } //一般代理类使用 Proxy 后缀 class FileDownloaderProxy{ FileDownloaderProxy(FileDownloader downloader){ this.downloader = downloader; } private FileDownloader downloader; public download(File file){ //这里可以添加通知,通知用户 ...
      为一组类提供简单的外部接口,使外部调用者不需要和所有内部干系人打交道,就能让调用者满意。   class CallCenter{ public void solve(Customer customer){ //接受客户提出的问题 operator.acceptProblem(customer.getProblem()); boolean canSolved = operator.solve(); if (!canSolved) { //如果不能解决,则请求其它人帮助。 operator.askH ...
abstract class Hardware{ } class Mainboard extends Hardware{ } class Memory extends Hardware{ } class Display extends Hardware( } class NetworkAdapter extends Hardware{ } class Computer extends Hardware[ private List parts = new Arraylist(); public List add(Hardware hardware){ parts.a ...
Global site tag (gtag.js) - Google Analytics