学习记录 模式和xml(1)
以下为一天的基本学习情况,包括学习和复习,模式部分前前后后也看了很多了,但是一直没能坚持看完,希望这次可以坚持下去。
模式部分我没有直接去看比较经典的《java与模式》,这书太厚容易让我坚持不下去,而是采用了程杰写的《大话设计模式》,
这书写的很有意思,也很容易理解。希望这样的书可以多些。呵呵,当然等看完了还是要去研读《java与模式》的,那毕竟是经典啊!
xml属于早以遗忘的东西了,特别是文档声明部分,很多的定义已经忘记了是啥意思,在此要感谢孙鑫的xml视频。俺就是个懒人。
每天学习一点,充实一点,开心一点。呵呵!
一定要坚持下去。
一:设计模式
观察者模式(发布-订阅模式)publish/subscribe
该模式完美体现了依赖倒装原则(实现依赖抽象)
一个抽象模型有2个方面,一个方面依赖于另外一个方面。这时使用观察者模式可以将这两者封装在独立的对象中,使他们独立的改变和服用。
调用者永远只能看到抽象的类
简单工厂,抽象工厂模式
简单工厂模式违背了开放封闭原则[可以使用反射来弥补 Class.forName(需要实例化的类名,需要全路径名).newInstance]
抽象工厂完美解决了,需要增加产品种类的情况,只需要扩展类就可以,不需要改变原有的类,但是增加的类过于多
可以使用简单工厂模式+反射进行完美解决
模式部分以后会专门出总结帖
二:xml部分
xml物理上就是一个文档实体
xml逻辑上分为五个部分
1.xml声明 <?xml version='1.0'?>
2.文档类型声明 通过文档类型定义(DTD)来实现,包括内部DTD 和外部DTD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "xx.dtd">此例为外部DTD
3.元素 不能包括 < ,]]>,&
4.注释 <!--zhu shi -->
5.执行指令 可以指定一些由外部程序来处理,xml编译器不会处理的元素
格式良好的xml文档中空格也是包括在内的,如果需要指定的保留某些空格,需要使用xml:space
指定元素中使用的文字
相关文档:
序列化的概念
序列化是指一个对象的实例可以被保存,保存成一个二进制串,当然,一旦被保存成二进制串,那么也可以保存成文本串了。
比如,一个计数器,数值为2,我们可以用字符串“2”表示。
如果有个对象,叫做connter,当前值为2,那么可以序列化成“2”,反向的,也可以从“2&rdquo ......
/*
用PHP的DOM控件来创建XML输出
设置输出内容的类型为xml
*/
header('Content-Type: text/xml;');
//创建新的xml文件
$dom = new DOMDocument('1.0', 'utf-8');
//建立<response>元素
$response = $dom->createElement('response');
$dom->appendChild($response);
//建立<books>元素并将其作 ......
Input.xml-----------
<?xml version="1.0" encoding="gb2312"?>
<studentList>
<student sex="man">
<name>wgy</name>
<age>23</age>
<tel>12345678</tel>
</student>
<student sex="female">
<name>lemon</name&g ......
/*
* history
*
* Created on 2003-5-26
*
* 2003-06-05
* 1.增加了Log的处理信息。
* 2.抛出的异常由原来UtilException的改变成XMLException,后者继承前者。
*
* 2003-09-02 by David Yu
* 1.增加了改变一个 ......
1、mian.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" creationComplete="HTTPSrv.send();" width="242" height="442">
<mx:Script>
<!--[CDATA[
import mx.rpc.events.ResultEv ......