文档详情

Go语言博客实践.pdf

发布:2019-03-25约3.5万字共35页下载文档
文本预览下载声明
目 录 介绍 第1章 :选择 Martini 框架 第2章 :永远的MVC 第3章 面向对象和并发 第4章 :服务器裸奔 第5章 静态博客 第6章 解析器与舞台剧 第7章 解析器与ABNF 第8章 Rivet 本文档使用 看云 构建 - 2 - 介绍 介绍 Go语言博客实践 作者 :achun 来源 :Go-Blog-In-Action (Martini 版本) 老版本点击这里 Go Blog In Action 中文名 Go语言博客实践. 是对 TypePress 开发过程中的想法, 方法, 探讨等任何方面同 步整理成的电子书. 作者 喻恒春 目录 第1章 :选择 Martini 框架 第1节 :为什么是Martini 第2节 :Package选择与修改 第3节 :依赖注入 第2章 :永远的MVC 第1节 :永远的MVC 第2节 :常见的方法 第3节 :TypePress的方法 第3章 面向对象和并发 第1节 :面向对象 第2节 :并发下维护上下文 第3节 :Martini下的并发 第4章 :服务器裸奔 第1节 :配置基本参数 第2节 :基本功能 第3节 :模块化 第5章 静态博客 未完待续, 穿插解析器部分 第6章 解析器与舞台剧 本文档使用 看云 构建 - 3 - 介绍 第1节 :汤姆的故事 第2节 :PEG 第7章 解析器与ABNF 第1节 ABNF 第2节 四则运算表达式 第3节 解析器 第4节 手工至上 第8章 Rivet 第1节 Router 第2节 Rivet 第3节 Module 授权许可 除特别声明外 ,本书使用CC BY-SA 3.0 License (创作共用 署名-相同方式共享3.0许可协议 )授权。 本文档使用 看云 构建 - 4 - 第1章 :选择 Martini 框架 第1章 :选择 Martini 框架 为什么是Martini 在上一版 Go语言博客实践 中, 作者提到不使用框架来完成一个 Blog 系统. 现在选择 Martini 作为基础框 架确实和 Martini 设计的独特性有关. Martini 的核心 Injector 实现了依赖注入 ( 参见 控制反转 ). 这里有两篇博客可供参考 Martini的工作方式 和 Martini中的Handler. 简单的说 Injector 通过 reflect 削弱了合作对象间引用依赖. 对于 Martini 的使用可以简单总结为 Martini 对象方法 Map/MapTo/Use/Handlers/Action 非并发安全, 服务器运行前使用. Router 对象也是非并发安全的, 服务器运行前使用. Context 对象是在 http Request 时动态创建的. 所有要使用的对象必须先 Map/MapTo. 对 http.ResponseWriter 任何的 Write 都会完结响应. 内部方法是终止了响应 Handler. 善用 Context 对象的 Next 方法会产生奇效. 上一版本因为不能找到 解耦 的框架而放弃使用框架. Martini 在 Injector 的支持下为解耦提供了可能. 这正是笔者希望的. Package选择与修改 Martini社区 martini-contrib Martini 社区贡献的 package, 可能会使用一些.如果您研究了 Martini 和这些 contrib package, 您会 发现真的解耦了. 角色控制 accessfl
显示全部
相似文档