一个用于格式化/统计文本的可扩展框架
2006-07-20 11:43:59 来源:WEB开发网helper 部分
Session
Session类的设计模仿了ASP/JSP中的Session功能,当然只是形似(主要是功能相似),还远没有那么复杂。该类的主要作用是为了给各handler之间彼此传递信息提供方便,这包括解析过程中所使用的handler和格式化输出过程中所使用的handler。其内部持有一个map容器,可以通过set方法向map中插入指定key所对应的value,再通过get方法获取该value。采用这种设计是为了减轻框架代码的负担,框架无须具体负责handler之间的信息传递;同时也为日后的扩展带来了方便,你可以在你自己的subclass handler中随意使用Session以应对具体应用。
Context
代表解析过程和格式化输出过程中的上下文环境。框架代码会将诸如当前处理行号,当前处理字串(解析后),当前字串位置等信息传入Context内,以备subclass handler(s)取用。未来的版本中可能会扩充Context所包含的信息。Context内部持有一个session成员。事实上,虽然前面曾经提到,各subclass handler可以通过Session对象彼此传递信息,但handler并不能直接访问到Session,而是需要通过Context的session方法,才能得到实际的Session对象。其实,某种意义上来讲,Session也是一种上下文。但是这种上下文的实际含义在框架代码中是无法预知的,这一点和Context中的其他成员不同。也就是说,Context是一个半开放的对象,在框架力所能及的范围之内,一些明确的稳定的信息不应放在Session里面,它们大可以作为Context的固定成员,与Session平起平坐,因为随着时间的推移,这些信息不会改变,所以就不会被当作hard code。至于其余框架不能确定的易变信息,则交由Session来处理比较合适。
FileHelper
一个文件操作的辅助类,提供了文件读写的功能,在框架的其他地方以及基于框架的具体应用中可以使用到它。
更多精彩
赞助商链接