- 浏览: 25930 次
- 性别:
- 来自: 上海
文章列表
在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。
public interface Memento {
}
public class Originator {
private String state = "";
public Memento createMemento() {
return new MementoImpl(state);
}
public void setMemento(Memento memento) {
MementoImpl mement ...
允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。
状态模式的功能就是分离状态的行为,通过维护状态的变化,来调用不同状态对应的不同功能。
状态决定行为。
public interface VoteState {
public void vote(String user,String voteItem,VoteManager voteManager);
}
public class NormalVoteState implements VoteState {
public void vote(String user,String voteItem,VoteMa ...
迪米特法则:LoD,最少知识原则。 如果两个类不必彼此直接通信,那么这两个类就不应该发生直接的相互作用。如果其中一个类需要用另一个类的某一个方法的话,可以通过第三者转发这个调用。
策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。
public interface Strategy {
public void algorithmInterface();
}
public class ConcreteStrategyA implements Strategy {
public void algorithmInterfac ...
定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
public abstract class AbstractClass {
public abstract void doPrimitiveOperation1();
public abstract void doPrimitiveOperation2();
public final void templateMethod() {
doPrimitiveOperation1();
doPrimitiveOperation2();
} ...
1.HTML5 之前的 HTML 版本是?HTML 4.01
2.HTML5 的正确 doctype 是?<!DOCTYPE html>
3.在 HTML5 中,哪个元素用于组合标题元素?<hgroup>
4.HTML5 中不再支持下面哪个元素?<font><acronym>
5.在 HTML5 中不再支持 <script> 元素的哪个属性?type
6.新的 HTML5 全局属性,"contenteditable" 用于:规定元素内容是否是可编辑的
7.在 HTML5 中,contextmenu 和 s ...
HTML5 服务器发送事件(server-sent event)允许网页获得来自服务器的更新。
Server-Sent 事件指的是网页自动获取来自服务器的更新。
Server-Sent 事件 - 单向消息传递
HTML5 拥有多个新的表单输入类型。这些新特性提供了更好的输入控制和验证。
email
url
number
range
Date pickers (date, month, week, time, datetime, datetime-local)
search
color
E-mail: <input type="email" name="us ...
HTML5 提供了展示视频的标准.
<video src="movie.ogg" controls="controls">
</video>
control 属性供添加播放、暂停和音量控件。
<video> 与 </video> 之间插入的内容是供不支持 video 元素的浏览器显示的.
方法 属 ...
CSS3 是最新的 CSS 标准。
div#div2
{
transform:rotate(30deg);// 30度
-ms-transform:rotate(30deg); /* IE 9 */
-moz-transform:rotate(30deg); /* Firefox */
-webkit-transform:rotate(30deg); /* Safari and Chrome */
-o-transform:rotate(30deg); /* Opera */
}
CSS3 被划分为模块。
其中最重 ...
字体风格:font-style 属性最常用于规定斜体文本。
normal - 文本正常显示
italic - 文本斜体显示
oblique - 文本倾斜显示
italic 和 oblique 的区别:斜体(italic)是一种简单的字体风格,对每个字母的结构有一些小改动,来反映变化的外观 ...
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。
em有如下特点:
1. em的值并不是固定的;
2. em会继承父级元素的字体大小。
一般来说,可以为所有块级元素应用 text-indent,但无 ...
var myBoolean=new Boolean(1); true
var myBoolean=new Boolean(true); true
var myBoolean=new Boolean("true"); true
var myBoolean=new Boolean("false"); ...
查找 id="main" 的元素,然后查找 "main" 中的所有 <p> 元素:
var x=document.getElementById("main");
var y=x.getElementsByTagName("p");
如需改变 HTML 元素的属性,请使用这个语法:
document.getElementById(id).attribute=new value
举例:
本例改变了 <img> 元素的 src 属性:
document.getEleme ...
写入 HTML 输出 : document.write("<h1>This is a heading</h1>");
只能在 HTML 输出中使用 document.write。如果您在文档加载后使用该方法,会覆盖整个文档。
var x=document.getElementById("demo").value;
if(x==""||isNaN(x)) // 验证用户的输入
{
alert("Not Numeric");
}
}
把 JavaScr ...
将对象组合成树型结构以表示“部分-整体”的层次结构。组合模式使得用户对单个对象和组合对象的使用具有一致性。
public abstract class Component {
public abstract void someOperation();
public void addChild(Component child) {
throw new UnsupportedOperationException("不支持");
}
public void removeChild(Component child) {
throw new Unsupp ...
提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。
public interface Iterator {
public void first();
public void next();
public boolean isDone();
public Object currentItem();
}
public abstract class Aggregate {
public abstract Iterator createIterator();
}
public class ConcreteAggregate extends Aggreg ...