CoffeeScript 教程
CoffeeScript 使用 HTML 命名实体替换 HTML 标签
使用 HTML 命名实体替换 HTML 标签 问题 你需要使用命名实体来替代HTML标签: <br/> => <br/> 解决方案 h…
CoffeeScript 替换子字符串
替换子字符串 问题 你需要用另一个值替换字符串的一部分。 解决方案 使用JavaScript的replace方法。它与给定字符串匹配,并返回已编辑的字符串。 第一个版本需要2个参数…
CoffeeScript 查找子字符串
查找子字符串 问题 你需要搜索一个字符串,并返回匹配的起始位置或匹配值本身。 解决方案 有几种使用正则表达式的方法来实现这个功能。其中一些方法被称为RegExp模式或对象还有一些方…
CoffeeScript HTTP 客户端
HTTP 客户端 问题 你想创建一个HTTP客户端。 解决方案 在这个方法中,我们将使用node.jss HTTP库。我们将从一个简单的客户端GET请求示例返回计算机的外部IP。 …
CoffeeScript 基本的 HTTP 服务器
基本的 HTTP 服务器 问题 你想在网络上创建一个HTTP服务器。在这个方法中,我们将逐步从最小的服务器成为一个功能键值存储。 解决方案 我们将使用node.js HTTP库并在…
CoffeeScript 服务器
服务器 问题 你想在网络上提供一个服务器。 解决方案 创建一个基本的TCP服务器。 在 Node.js 中 net = require net domain = localhost…
CoffeeScript 双向客户端
双向客户端 问题 你想通过网络提供持续的服务,与客户保持持续的联系。 解决方案 创建一个双向TCP客户机。 在 Node.js 中 net = require net domain…
CoffeeScript 适配器模式
适配器模式 问题 想象你去国外旅行,一旦你意识到你的电源线插座与酒店房间墙上的插座不兼容时,幸运的是你记得带你的电源适配器。它将一边连接你的电源线插座另一边连接墙壁插座,允许它们之…
CoffeeScript 桥接模式
桥接模式 问题 你需要为代码保持一个可靠的接口,可以经常变化或者在多种实现间转换。 解决方案 使用桥接模式作为不同的实现和剩余代码的中间体。 假设你开发了一个浏览器的文本编辑器保存…
CoffeeScript 生成器模式
生成器模式 问题 你需要准备一个复杂的、多部分的对象,你希望操作不止一次或有不同的配置。 解决方案 创建一个生成器封装对象的产生过程。 Todo.txt格式提供了一个先进的但还是纯…
CoffeeScript 修饰模式
修饰模式 问题 你有一组数据,需要在多个过程、可能变换的方式下处理。 解决方案 使用修饰模式来构造如何更改应用。 miniMarkdown = (line) -> if ma…
CoffeeScript 工厂方法模式
工厂方法模式 问题 直到开始运行你才知道需要的是什么种类的对象。 解决方案 使用工厂方法(Factory Method)模式和选择对象都是动态生成的。 你需要将一个文件加载到编辑器…
CoffeeScript 解释器模式
解释器模式 问题 其他人需要以控制方式运行你的一部分代码。相对地,你选择的语言不能以一种简洁的方式表达问题域。 解决方案 使用解释器模式来创建一个你翻译为特定代码的领域特异性语言(…
CoffeeScript 备忘录模式
备忘录模式 问题 你想预测对一个对象做出改变后的反应。 解决方案 使用备忘录模式(Memento Pattern)来跟踪一个对象的变化。使用这个模式的类会输出一个存储在其他地方的备…
CoffeeScript 单件模式
单件模式 问题 许多时候你想要一个,并且只要一个类的实例。比如,你可能需要一个创建服务器资源的类,并且你想要保证使用一个对象就可以控制这些资源。但是使用时要小心,因为单件模式可以很…
CoffeeScript 策略模式
策略模式 问题 解决问题的方式有多种,但是你需要在程序运行时选择(或是转换)这些方法。 解决方案 在策略对象(Strategy objects)中封装你的算法。 例如,给定一个未排…
CoffeeScript 模板方法模式
模板方法模式 问题 定义一个算法的结构,作为一系列的高层次的步骤,使每一个步骤的行为可以指定,使属于一个族的算法都具有相同的结构但是有不同的行为。 解决方案 使用模板方法(Temp…