Java世界
一米精品源码
5年+IT项目管理经验
展开
-
IT项目管理工具
首先得承认任何产品都没有完美,即便是“史诗级”的产品,为什么会不完美?--因为我们每一个人对同一类产品都有自己不同的诉求,都想找到一款适合自身的近乎绝对满意的产品.....所有的这些,才让我们有了结合自己多年的工作经验和其他同类产品的使用感受,自主研发项目管理工具的想法。我们的产品最初定位有如下几点: 权限角色管理,权限管理细分到按钮级别,让系统权限更加严谨且灵活配置。 多公司多团队同时使用,只需要超级管理员简单地开一个帐号而已,并且一个人可以同时参与多个项目。 任务管理与分配,实原创 2021-11-04 23:51:09 · 396 阅读 · 0 评论 -
介绍9种常用的项目管理工具
本文提供有效的项目管理工具,包括甘特图,WBS,日历,时间线,状态表,HOQ,和思维导图制作工具。项目管理涉及有效的计划和对工作的系统管理。它包括定义项目目标,制定行程和安排任务,以达到特定的目标。有很多图形工具可以使项目管理更有效、更高效。通用的有甘特图,PERT 图,思维导图。时间线,WBS图,状态表和鱼骨图。这些都是十分有用的工具,可以对项目范围进行可视化。你可以选择一种符合自身情况的工具。亿图具有强大的项目管理图形绘制功能,通过丰富的内置模板和符号,和简单的拖放式绘图功能,你可以毫不费力地制转载 2020-11-08 19:57:51 · 928 阅读 · 2 评论 -
一:Java與模式
不变@变---软件设计的永恒之道静@动----UML建模可维护性&可复用性&独立软件设计原则(善为士者不武:一个好的软件设计师在其设计的软件投入使用之后很少作大规模的修改): (1)"开-闭"原则(Open-Closed Principle) 对扩展开放,对修改关闭:即在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。 (用面向对象的语言来讲,不允许更改的是...原创 2010-09-04 09:38:51 · 95 阅读 · 0 评论 -
二:統一建模語言UML簡介
一:UML主要包括如下两种图(A)结构型图--描述系统的静态结构类图:描述一些类,包的静态结构和它们之间的静态关系对象图:给出一个系统中对象的快照构件图:描述可以部署的软件构件(如jar,ejb)之间的静态关系部署图:描述一个系统的拓扑结构(B)行为型图--描述系统的动态性质使用案例图:描述一系列角色和使用案例及它们之间的关系,可以用来对一个系统的最基本的行为进行建模...原创 2010-09-04 09:40:52 · 129 阅读 · 0 评论 -
三:Java接口
一:什么是接口 一个接口只有方法的特征或一些常量,而没有方法的实现,因此这些方法在不同的地方被实现时,可以具有完全不同的行为。一个类可以实现多个接口但不能继承多个类,所以利用接口还可以实现类似多重继承的功能。实现一个共同的接口的两个类常常完全不同,但是有一组相同的方法和常数,一些看上去不相干的类,可以因为相类似的服务而具有相同的接口. 二:接口是对可插入性的保证 一个对象需要知道其...原创 2010-09-04 09:42:11 · 108 阅读 · 0 评论 -
四:Java抽象类
抽象类仅提供一个类型的部分实现,它可以有实例变量以及多个构造子。一个抽象类不会有实例,它的构造子不能被客户端调用来创建实例,但它的构造子可以被其子类调用,从而使一个抽象类的所有子类都可以有一些共同的实现,而不同的子类可以在此基础上有其自己的实现。抽象类和子类的这种关系实际上是模板方法模式的应用。 (1)抽象类的用途 抽象类提供了一个继承的出发点,而具体的类不同,具体类可以实例化,应当给...原创 2010-09-04 09:43:39 · 89 阅读 · 0 评论 -
七:里氏代换原则
一什么是里氏代换原则 里氏代换原则的严格表达是:如果对每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有对象o1代换成o2时,程序P的行为没有变化,那么类型T2是类型T1的子类型.换言之,一个软件褓如果使用的量个基类的话,那么一定适用其子类,而且它根本不能察觉出基类对象和子类对象的区别.反过来不成立:如果一个软件实体用的是子类的话,那它不一定适用于基类....原创 2010-09-04 09:48:40 · 192 阅读 · 0 评论 -
八:依赖倒转原则
三种耦合关系: 在面向对象的系统里,两个类之间可以发生三种不同的耦合关系: A:零耦合,如果两个类没有任何耦合关系,称为零耦合 B:具体耦合,具体耦合发生在两个具体的类实例之间,经由一个类对另一个具体类的直接引用造成. C:抽象耦合,抽象耦合发生在一个具体类和一个抽象类(或接口)之间,使两个必须发生关系的类之间存有最大的灵活性 一:什么是依赖倒转 简单地说,依赖倒转原则...原创 2010-09-05 19:33:00 · 213 阅读 · 0 评论 -
九:接口隔离原则
一:什么是接口隔离原则A角色划分:接口隔离原则说的是使用多个专门的接口比使用单一的接口要好.将接口理解为一个类所提供的所有方法的集合,也就是一种逻辑上才存在的概念,这样的话接口的划分就带来了类型的划分,一个接口对应一个角色. B定制服务,接口隔离原则讲的就是为同一个角色提供宽窄不同的接口,以对付不同的客户端,这种办法在服务行业中叫做定制服务,如果客户端仅仅需要某一些方法的话,那么就应当提供...原创 2010-09-05 19:35:08 · 108 阅读 · 0 评论 -
十:合成/聚合复用原则
合成/聚合复用原则经常又叫做合成复用原则,就在在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过向这些对象的委派达到复用已有功能的目的,这个设计原则有另一个更加简短的表述,要尽量使用合成/聚合,尽量不要使用继承. 我们通常不在新的对象里面拥有需要的对象,而应当最好拥有对象所在的工厂,这样又把工厂模式应用过来,这是我的灵感..^-^ 一:复用的基本类型...原创 2010-09-05 19:37:16 · 302 阅读 · 0 评论 -
十一:迪米特法则
迪米特法则又叫最少知识原则,就是说,一个对象应当对其他对象有尽可能少的了解. 一:狭义的迪米特法则 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,如果其中的一个类SomeOne需要调用另一个类Stranger的某一个方法的话,可以通过第三者Friend转发这个这个调用.这个第三者可以是以参量形式传入到当前对象方法中的对象,当前对象实例变量直接引用的对象....与依...原创 2010-09-05 19:39:12 · 119 阅读 · 0 评论 -
二十一:简单工厂模式
一:简单工厂模式的实现 比如我们要描述以下三种水果:葡萄Grape,草莓Strawberry,苹果:Apple. (1)首先建立一个水果类Fruit接口,便于与其他植物区分开来. (2)让Grape,Strawberry,Apple分别实现Fruit接口 (3)再建一个生产水果的工厂FruitFactroy,这个工厂提供一个静态方法: [code="java"]public c...原创 2010-09-05 19:40:40 · 174 阅读 · 0 评论 -
二十二:工厂方法模式
工厂方法模式是类的创建模式,它的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中,它仅仅负责给出具体工厂子类必须实现的接口,而不接触哪一个产品类应当被实例化这个细节. 二:优化简单工厂模式中的"农场"系统现在把这个农场的管理变得更加专业化:苹果由"苹果园丁"负责,葡萄由"葡萄园丁"负责,草莓由"草莓园丁"负责,这三个"园丁"都是实现了抽象的"水果园丁"接口的具体原创 2010-09-05 19:45:01 · 134 阅读 · 0 评论 -
二十三:抽象工厂模式
一:什么是抽象工厂模式抽象工厂是工厂模式中最为抽象和最具一般性的一种形态,它是面对多个产品等级结构的系统设计.假设一个子系统需要一些产品对象,而这些产品又属于一个以上的产品等级结构,那么为了将消费这些产品对象的责任和创建这些产品对象的责任分割开来,可以引进抽象工厂模式,这样的话,消费产品的一方不需要直接参与产品的创建工作,而只需要向一个公用的工厂接口请求所需要的产品.抽象工厂模式涉及到以下...原创 2010-09-05 19:52:51 · 106 阅读 · 0 评论 -
二十四:单例模式
Java中的单例模式是指在程序的运行过程中,jvm中只存在一个实例。然而注意,Spring中配置的singleton是相对于IOC的工厂而言,一个IOC工厂里只有一个实例,然而在jvm中可能有多个实例,他们的参照物不同.一:单例类有如下特点 A:只能有一个实例 B:必须自己创建自己的唯一实例 C:必须向系统提供自己的实例 二:饿汉式单例类 [code="java...原创 2010-09-05 20:00:05 · 90 阅读 · 0 评论 -
二十五:单例模式与MX记录
问题描述:邮件发送一般来说,一个公司会有数个SMTP服务器,公司须保证至少一台SMTP服务器正常运行,以便处理发送电子邮件的工作. 解决方案:使用Java的JNDI功能,可以完成这样的功能:写一个Java程序自动从DNS服务器那里得到一个公司内登记过的所有的SMTP服务器清单(称为MX记录),然后让它一个个地试验清单上所有的服务器,直到把邮件这章主要讲的是如何用JNDI编程进行发M...原创 2010-09-05 20:02:15 · 135 阅读 · 0 评论 -
二十六:多例模式与多语言支持
一个真实的项目: 这是一个真实的而向全球消费者的华尔街金融网站项目的一部分,系统根据用户选择的语言将网站的静态文字和动态文字全部转换为用户所选择的语言.这实际就是多国语的实现. 单例模式的精神是允许有限个实例,并不是仅允许一人实例,这种允许有限多个实例并向整个JVM提供自己实例的类叫做多例类,这种模式叫做多例模式.现在就需要用多例模式来实现资源对象,需要构造出能提供有限个实例,每个实例有各...原创 2010-09-05 20:05:05 · 121 阅读 · 0 评论 -
二十七:建造模式
一:什么是产品内部表象和建造模式一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象,它们通常又叫做产品的内部表象。不同的产品可以有不同的内部表象,也就是不同的零件。使用建造模式可以使客户端不需要知道所生成的产品对象有哪些零件,每个产品对应的零件彼此有何不同,是怎么建造出来的,以及怎么样组成产品.即: 建造模式可以将一个产品的内部表象与产品的生成过程分割开来...原创 2010-09-05 20:07:01 · 118 阅读 · 0 评论 -
二十八:原始模型模式
孙悟空在与黄风怪的战斗中,使用了一个身外身的手段:把毫毛揪下一把,用口嚼和粉碎,往一喷叫声'变',变有百十个行者,都是一样的打扮!..老孙的这种身外身的手段在面向对象的设计领域里叫做原始模式. 一:克隆满足的条件. A:对任何的对象x,都有:x.clone()!=x,换言之,克隆对象与原对象不是同一个对象. B:对任何的对象x,都有:x.clone().getClass() == ...原创 2010-09-05 20:12:54 · 185 阅读 · 0 评论 -
JavaBean的冷藏和解冻
本章主要講解怎么樣使用java.beans.Beans類對已經過串行化處理的JavaBean進行解凍處理,在本章會遇到工廠方法模式,標識接口模式和原始模型模式.一:什么是冷藏和解凍(1)串行化使得一個程序可以把一個完整的對象寫到一個Byte流里面,或者從一個Byte流里讀出一個事先存儲在里面的完整的對象:串行化可以把Java對象和原始數據類型轉換成一個適合於某種網絡或文件系統的Byte...原创 2010-09-05 20:16:04 · 139 阅读 · 0 评论 -
三十一:结构模式概述
结构模式描述如何将类或者对象结合在一起形成更大的结构,结构模式描述两种不同的东西:类与类的实例,根据这一不同,结构模式可以分为类的结构模式和对象的结构模式两种 (1)类的结构模式:类的结构模式使用继承把类,接口组合在一起,以形成更大的结构,当一个类从父类继承并实现某个接口时,这个新的类就把父类的结构和接口的结构组合在一起,类的结构模式是静态的 (2)对象的结构模式,对象的结构模式描述怎么样...原创 2010-09-05 20:17:31 · 98 阅读 · 0 评论 -
三十二:适配器模式
适配器模式把一类的接口变成客户端所期待的另一个接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作. 一:名字的由来这很像变压器(Adapter),变压器把一种电压变成另一种电压。把美国的电器拿回中国大陆用的时候,用户就面临电压不同的问题。美国的生活用电电压是110V,而中国的电压是220V,如果要在中国使用美国的电器,就必须有一个能把220V电压转换成110V电压的变压...原创 2010-09-05 20:20:14 · 161 阅读 · 0 评论 -
三十三:缺省适配模式
缺省适配模式为一个接口提供缺省实现,这样子类型可以从这个缺省实现进行扩展,而不必从原有接口进行扩展 一:鲁智深的故事 和尚要做什么?念经,打坐,习武..如果设计一个和尚接口,给出所有的和尚都需要实现的方法: [code="java"]interface和尚{ public void念经(); pulbic void打坐(); public void习武(); pub...原创 2010-09-05 20:23:17 · 112 阅读 · 0 评论 -
三十四:MLProperties与适配器模式
一:问题 几乎所有的应用程序都有一些系统常量需要存储在程序外部,一个常见的做法是使用一个配置文件存储这些常量,这样,一旦常量有变化的话,无需修改程序代码就可以重新配置一个系统。在Java编程里,一个配置文件就是.properties文件或者XML文件。使用.properties文件虽然是现行工业标准,但正在渐渐被XML文件所取代,一个配置文件所需要的无非就是存储一些代码和代码所代表的值组成的对...原创 2010-09-05 20:26:06 · 137 阅读 · 0 评论 -
Java IO与Java NIO
http://wenku.baidu.com/view/b038a60590c69ec3d5bb7580.html原创 2011-09-08 15:22:07 · 69 阅读 · 0 评论 -
三十五:合成模式
合成模式是对象的结构模式,有时又叫做部分-整体模式。 一个基于继承的类型的等级结构便是一个树结构,一个基于合成的对象结构也是一个树结构,本章将要介绍的合成模式也是一个处理对象的树结构的模式。 一:有向树结构的种类(A)由上向下的树图---每一个树枝节点都有箭头指向它的所有的子节点,从而一个客户端要求一个树枝节点给出所有的子节点,而一个节点却不知道它的父节点。 (B)由下向上的树...原创 2010-11-11 22:31:21 · 138 阅读 · 0 评论 -
三十六:装饰模式
装饰模式(Decorator)又名包装(Wrapper)模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承的一个替代方案. 一:引言孙悟空有七十二般变化,他的每一种变化都给他带来一种附加本领。他变成鱼时,就可以到水里游泳,他变成鸟时,就可以在天上飞行,而不管悟空怎么变化,在二郎神眼里,他永远是那只猢狲. 装饰模式以对客户透明的方式动态地给一人对象附加上更多的责任,换言之,客户...原创 2010-11-11 22:34:19 · 119 阅读 · 0 评论 -
三十七:Java设计模式在IO中的应用
在Java语言的IO库的设计中,使用了两个结构模式,即装饰模式和适配器模式,本章就围绕这两个模式讨论Java的IO库的设计. 一:引言Java语言采用流的机制来实现输入/输出,所谓流,就是数据的有序排列,它可以从某个源(流源)出来,到某个目的地(流汇)。根据流的方向可以将流分为输出流和输入流.例如Java程序可以用FileInputStream类从一个磁盘文件读入byte类型数据,也可...原创 2010-11-11 22:35:53 · 103 阅读 · 0 评论 -
三十八:代理模式
一:什么是代理代理模式给某一个对象提供一个代理对象,并由代理对象控制原对象的引用. 中国人是一个含蓄的民族,讲求微妙和间接的交流方式,对象间的间接通信也同样是面向对象的设计中一条重要的"审美观"。间接性的通信可以给出较低的耦合关系,较强的合作关系,以及微妙的结构和易于复用的设计架构。 代理模式的英文叫做Proxy,所谓代理,就是一个人或者一个机构代表另一个人或者另一个机构采取行动,在一...原创 2010-11-11 22:38:19 · 140 阅读 · 0 评论 -
智能引用代理
本章所述是来自真实的华尔款街金融网站项目,在本站要实现两个基本功能:一是必须对用户进行身份检查,二是对用户搜索次数进行统计,以便按照收费标准进行收费.在这里要用到两种模式:保护代理和智能代理。一个代理对象对调用被代理对象的用户进行权限检查,并且只允许有适当权限的用户调用原对象,这样的代理对象叫做保护代理。所谓智能引用代理,就是一个代理对象对调用原对象的用户进行统计计数. 一:系统设计步骤...原创 2010-11-11 22:40:11 · 368 阅读 · 0 评论 -
三十九:虚拟代理模式
一:加载延缓相信大家都遇到这样的情况,一个系统需要加载一个模块,但是此模块的加载要耗费相当长的时间,因此,系统要显示一段"正在加载"的信息,同时将模块加载,在模块加载后,系统将"正在加载"的文字取消掉,并启动此模块,常见的例子有Netscape浏览器,JBuilder等大型软件.有时候加载一个图像也会造成时间的延迟,因此系统需要在放置图像的地方放一段文字信息,请用户用心等待。系统会在另一个线程...原创 2010-11-11 22:41:36 · 153 阅读 · 0 评论 -
四十:享元模式
一:享元模式的用意 享元模式以共享的方法高效地支持大量的细粒度对象,享元对象能做到共享的关键是区分内蕴状态和外蕴状态。 一个内蕴状态是存储在享元对象内部的,并且是不会随环境改变而有所不同的,因此一个享元可以具有内蕴状态并可以共享。一个外蕴状态是随环境的改变而改变的,不可以共享的状态,享元对象的外蕴状态必须由客户端保存,并在享元对象被创建之后,在需要使用的时候各方面传入到享元对象内部,外蕴状...原创 2010-11-11 22:43:56 · 103 阅读 · 0 评论 -
四十一:门面模式
一:门面模式的结构门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。这里主要有两个角色: (A)门面(Facade)角色:客户端可以调用这个角色的方法,此角色知晓相关的(一个或者多个)子系统的功能和责任,在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去. (B)子系统(Subsystem)角色:可以同时有一个或者多个子系统,每一...原创 2010-11-11 22:45:33 · 92 阅读 · 0 评论 -
四十二:桥梁模式
一:桥梁模式的用意将抽象化与实现化脱耦,使得二者可以独立地变化,使得二者可以独立地变化,这就是桥梁模式的用意: (A)抽象化:存在于多个实体中的共同的概念性联系,就是抽象化,作为一个过程,抽象化就是忽略一些信息,从而把不现的实体当作同样的实体来对待. (B)实现化:把抽象的东西用把它具体的描述出来,就是实现化.(C)脱耦:所谓耦合,就是两个实体的行为的某种强关联,而将它们的强关联去...原创 2010-11-11 22:46:49 · 135 阅读 · 0 评论 -
四十四:不变模式
一:什么是不变模式一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式.不变模式可样强对象的强壮性,它允许多个对象共享某一对象,降低了对该对象进行并发访问时的同步化开销,如果需要修改一个不变对象的状态,那么就需要建立一个新的同类型对象,并在创建时将这个新的状态存储在新的对象里。 不变模式只涉及到一个类,一个类的内部状态创建后,在整个生命期间都不会发生变化时,这样的类称做不变类,这...原创 2010-11-11 22:47:59 · 132 阅读 · 0 评论 -
四十五:策略模式
策略模式属于对象的行为模式,其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响客户端的情况下发生变化. 问题描述: 假设现在要对不同地图书进行打折,如对所有教材类图书实行每本一元的折扣,对连环画图书每本7%的折扣,对非教材类的计算机图书3%的折扣,其余图书没有折扣.这个问题如何解决? 解决方案: (1)所有的...原创 2010-11-11 22:49:35 · 94 阅读 · 0 评论 -
四十六:模式方法模式
模式方法模式是类的行为模式,准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方法实现这些抽象方法,从而对剩余的逻辑有不同的实现,这就是模板方法模式的用意.它是基于继承的代码复用的基本技术。在定义新的子类的时候,应当考虑哪些操作是必须置换掉的,哪些操作是可以置换掉的,以及哪些操作是不可以置换掉的,使用模板方法模式可以使...原创 2010-11-11 22:54:34 · 202 阅读 · 0 评论 -
四十七:Servlet技朮中的模式
一:Servlet简介 Servlet的最广泛用途是建造动态的网页,没有Servlet或相应的动态技术(如CGI,ASP,JSP),一个Web服务器只能提供静态的网页,不能针对用户的请求提供相应的服务器端的操作,如查询数据库并根据查询结果构造一个新的结果网页等.所有的Servlet必须遵循Java Servlet API,这个API是由两个库包及一系列类组成的: javax.servlet...原创 2010-11-11 22:55:57 · 81 阅读 · 0 评论 -
四十八:观察者模式
观察者模式是对象的行为模式,观察者模式定义了一种一对多的依赖关系,许多个观察者对象同时监听某个主题对象,这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己.一个软件系统里包含各种对象,就像一片欣欣向荣的森林有各种生物一样,在一片森林里,各种生物彼此依赖和约束,形成一个个生物链,一种生物的状态变化会造成其他一些生物的相应变化,每一个生物都处于和别的生物的互动之中. ...原创 2010-11-11 22:58:21 · 87 阅读 · 0 评论 -
四十九:观察者模式与AWT中的事件处理
软件系统中的事件处理允许两个或者多个对象根据它们的状态的变化进行通信和协调,在常见的事件处理模型中,对象通常被划分为三种:事件对象,事件制造者对象和事件接收者对象。一般而言,某一个对象是事件的制造者,蓁对象是事件的接收者,而事件对象本身封装了有关事件的信息,当事件制造者的内部状态发生变化时,会根据需要创建一个代表其状态变化的事件对象,并将它传给所有登记过的事件接收者对象. java1.0的...原创 2010-11-11 23:00:11 · 112 阅读 · 0 评论