- 浏览: 26699 次
-
文章列表
一、
模板类中可以有多个模板方法,不能被子类实现,就是说子类不能改变顶级逻辑
模板类中的方法,抽象方法是由子类实现的,具体方法(已实现),不能由子类实现,钩子方法(模板中的默认方法,可以被子类修改)
...
适配器模式Adapter Pattern
- 博客分类:
- 设计模式
一、
适配器模式:也可以说是包装模式。
类适配器模式
建一个适配类,继承特殊类(需要被适配的),实现已有的接口
------在这个新建的类中完成包装
对象适配器模式
唯一不同的就是,不是继承特殊类,而是将特殊类变为成员变量,再实现已有的接口
二、代码实现
披着羊皮的狼
/**
*外来者-狼
*/
class Wolf{
public void baseInfo(){
System.out.println("我是一只披着羊皮的狼");
}
}
/**
*羊 ...
一、门面模式
门面模式就是将过程封装,由门面类调用子系统
例子:
用户发送一封邮件,需要创建session,获取邮件发送对象,创建邮件消息体,发送邮件,这几个步骤,使用门面模式后我们不用关心这几个步骤的先后顺序,只需要将参数传递进去就行
二、单例模式
就是class文件被加载到虚拟机上时,直接在堆中new出一个对象。多例就是new 出多个对象
public class Singleton
{
// 懒汉式
private static Singleton instance=null;
public stati ...
一、简单工厂模式
工厂可以创建同一系列的具体产品,工厂根据具体参数,创建相应的产品
没有工厂接口,只是一个工厂创建多个具体产品
例子:一个饭店(工厂)--一个卖饭窗口(产品接口)--炒鸡蛋,炒五花肉(产品,一系列具体种类)
interface IFood{
public void food();
}
class Eggs implements IFood{
public void food(){
System.out.println("eggs");
}
}
class Meat implements IF ...
一、总结
它说的是如何让团队高效率的开发客户满意的成品
团队的互动,与客户实现共赢
无非就是要高高兴兴的开发,快快乐乐的交易
二、笔记
注重代码走查,注重工作透明度
一个良好国团队的形成阶段--FSNP
forming(雏形)--storming(磨合碰撞)--norming(规范化)--performing(团队表演时间)
结队开发(两人一小组共同开发)--两人要有共识,提前消灭一些BUG和烂代码
不要加班(照顾加班者的情绪,使其能高效率的工作),加班大都是因为在交付时间内完成不了,可以筛减任务(这就要求我们 ...
一、a instanceof A,=====a是否是A的实例
String s=new String("javaisland");
System.out.println(s instanceof String); //true
二、A.class.isInstance(a)=======a是否是A的实例
String s=new String("javaisland");
System.out.println(String.class.isInstance(s)); //true
三、这个是比较class文件的
ArrayL ...
代理模式Proxy pattern
- 博客分类:
- 设计模式
一、
二、具体实现
1,
代理对象类:商城
接口:进货、卖货
被代理类:卖衣服的、卖书的、卖吃的
2,代码实现
接口-被代理的行为-交易
public interface ITrade{
public void sale();
public void purchase();
}
被代理类-商家
public class ClothingStore implements ITrade{
pub ...
一、
情景:ajax状态返回码为200但是进不了success方法
解决:前后台接收的数据类型保持一致
策略模式Strategy Pattern
- 博客分类:
- 设计模式
一、
一个接口,多个具体实现类,一个容器(供用户使用,利用了接口的特性)
优点:高内聚低耦合,易于扩展,策略类之间可以自由切换
缺点:维护各个策略类会给开发带来额外的开销;调用者需要知道所有的策略 ...
一个正则表达式就是由普通字符和特殊字符(称为元字符)组成的文字模式。
一、常用表达式
匹配一个空白行:/^\[\t]*$/
/<(.*)>.*<\/\1>/
二、元字符的作用
1,转义符
\:将下一个字符标记为一个特殊字符或原义字符或向后引用或八进制转义字符
2,圆括号和方括号
(pattern):匹配pattern并获取这一匹配
(?:pattern):非获取匹配
(?=pattern):正向预查,非获取匹配,windows (?=95|98)可以匹配windows 95
(?!patt ...
一、删除下拉框的某一项
var options =document.getElementById('prpLdefLossThirdParty.insuredFlag').options;
for(var i=0;i<options.length;i++){
if(options[i].value==1){
options[i].removeNode(true);
}
}
二、原生js在指定元素后边追加元素
function insertAfter( newElement, targetElement ){
// newElement是要追加的元素 ta ...
Integer装箱与拆箱
- 博客分类:
- core java
Integer i=123,j=123,m=128,j=128;
i==j(true)
解释:
java在编译Integer i=123时,被译成Integer i=Integer.valueOf(100);而在这个方法中如果i的值在-128和127之间反回的是缓存的Integer对象,就是说他们引用了同一个对象。在进行>=操作时会导致拆箱操作,就是调用了intValue方法然后比较。但是==和!=比较的是对象的引用
XML一般用来存放数据和配置文件
一,文档声明
<?xml version="1.0" encoding="gb2312" standalone="yes" ?>
standalone说明文档是否独立,
encoding告知解析器以何种编码解析该文档(用记事本编写时注意保存的文件类型需和encoding指定的类型对应)
二,元素
指XML文件中出现的标签,一个标签分为开始标签和结束标签,标签中出现的空格和换行,XML解析器都会当作标签内容进行处理
命名规范
三,属性
...
mysql连接数据库(通过url创建)
- 博客分类:
- 数据库
jdbc:mysql://localhost:3306/hehe?createDatabaseIfNotExist=true
一,fakePath问题解决
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”就能解决问题。
二,实现
<html>
<head>
<script type="text/javascript">
function yulan(obj){
//alert(obj.value);
// return false;// var imgsrc=window.URL.createObjectURL(do ...