摘要: 文件上传原理: 早期的文件上传机制: 在TCP/IP中。最早出现的文件上传机制是FTP。他是将文件由客户端发送到服务器的标准机制。 jsp中的文件上传机制: 在jsp编程中不能使用FTP的方法来上传文件,这是由jsp运行机制所决定的。jsp中通过将表单元素设置Method="post" enctyp 阅读全文
posted @ 2017-05-25 00:28 C_Guangjin 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的机构即可以重定义算法的某些特定步骤。 模板方法模式是通过吧不变形为搬移到超类,去除子类中的重复代码来体现它的优势。当不变的和可变的行为在方法的子类实现中混合在一起的时候,不变的行为就会在子类中重复出 阅读全文
posted @ 2017-05-23 00:18 C_Guangjin 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 策略模式:它将可变的部分从程序中抽象分离成算法接口,在该接口下分别封装一系列算法实现。 它定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化,不会影响到实用算法的客户。 策略模式类图: 实现方式: 代码实现: 策略模式的设计原则: 找出应用中需要变化的部分,把他们独立出来,不要 阅读全文
posted @ 2017-05-21 01:57 C_Guangjin 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 责任链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 责任链模式结构图: 代码实现: 责任链模式的缺点: 1.对于一个请求需要从头部开始遍历,直到可以处理这个请求的类 2.需要在内存中创建所有的H 阅读全文
posted @ 2017-05-19 00:20 C_Guangjin 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 观察者模式:定义对象间的一种一对多的依赖关系。当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者模式通用代码实现: 观察者模式的推模型和拉模型: 推模型:假定目标对象知道观察者需要的数据,直接在更新的该方法中,将数据传递给各个观察者 拉模型:目标对象不知道观察者需要什么数 阅读全文
posted @ 2017-05-17 00:25 C_Guangjin 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 适配器模式:将一个类的接口,转换成客户期望的另一个接口。使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。 适配器的作用: 透明:通过适配器,客户端可以调用同一接口,因而对客户来说是透明的。 重用:复用了现有的类,解决了现存类和复用环境要求不一致的问题。 低耦合:将目标类和需要适配的类解耦 阅读全文
posted @ 2017-05-15 23:52 C_Guangjin 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 代理模式:为其他对象提供一种代理以控制这个对象的访问。 代理对象起到的作用,可以去掉功能服务或增加额外的服务。 常见代理模式: 远程代理、虚拟代理、保护代理、智能引用代理 静态代理概念和实现方法方式: 概念:代理和被代理对象在代理之前是确定的。他们都实现相同的接口或者相同的抽象类。 实现方式: 通过 阅读全文
posted @ 2017-05-13 00:15 C_Guangjin 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 工程模式:实例化对象,用工程方法代替new操作。 工程模式包括工厂方法模式,和抽象工厂模式。(抽象工厂模式是工厂方法模式的扩展) 工厂模式的意图: 定义一个接口来创建对象,但是让子类来决定那些类需要被实例化。 工厂方法把实例化的工作推迟到子类中去实现。 什么情况下适合工厂模式: 有一组类似的对象需要 阅读全文
posted @ 2017-05-12 02:02 C_Guangjin 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 单例模式:保证一个类仅有一个实例,并提一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象。一个最好的办法就是,让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且他可以提供一个访问该实例的方法。 单例模式的两种实现方式: 懒汉式: 阅读全文
posted @ 2017-05-11 00:29 C_Guangjin 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 向大佬致敬! 提交修改: git push 从远程仓库克隆: git clone git@github.com:michaelliao/gitskills.git 删除github上的文件: git rm test.txt git commit -m "remove test.txt" git ls 阅读全文
posted @ 2017-05-05 01:17 C_Guangjin 阅读(553) 评论(0) 推荐(0) 编辑