yangfch3 |
yangfch3 最近回复了
| 回复了 MaZiT 创建的主题 › 关于代码中的 if else 重构2018 年 3 月 19 日 |
@MaZiT
@xzpjerry731 的意思应该就是使用策略模式,因为策略模式就是用一个哈希表来存储不同的策略,然后策略管理器根据不同的策略 key 来调用不同的策略属性。
下面是一个简单的策略模式用例:
```
function logicCall(type, ...args) {
// 其他逻辑
registeredTypeHandler[type] && registeredTypeHandler[type](...args); // 这部分还可以新增一个策略控制器进行管理
}
// 策略哈希表
var registeredTypeHandler = {
foo: _foo,
bar: _bar
};
function _foo(...args) {
...
}
function _bar(..args) {
...
}
```
@xzpjerry731 的意思应该就是使用策略模式,因为策略模式就是用一个哈希表来存储不同的策略,然后策略管理器根据不同的策略 key 来调用不同的策略属性。
下面是一个简单的策略模式用例:
```
function logicCall(type, ...args) {
// 其他逻辑
registeredTypeHandler[type] && registeredTypeHandler[type](...args); // 这部分还可以新增一个策略控制器进行管理
}
// 策略哈希表
var registeredTypeHandler = {
foo: _foo,
bar: _bar
};
function _foo(...args) {
...
}
function _bar(..args) {
...
}
```
| 回复了 MaZiT 创建的主题 › 关于代码中的 if else 重构2018 年 3 月 19 日 |
策略模式了解一下
| 回复了 koplyp 创建的主题 › 求助各位大神, 如何将(a,(b,(c,(d,(e,(f))))))转换为(f,(e,(d,(c,(b,(a))))))2018 年 3 月 19 日 |
正则表达式的平衡组专门用于解决这种 nested 结构的解析等问题,了解一下
正则:\([^\)]*[^\(\)]*(((?'Open'\([^\(]*)[^\(\)]*)+((?'-Open'\)))+)*(?(Open)(?!))
源文本:(a,(b,(c,(d,(e,(f))))))
匹配结果:(a,(b,(c,(d,(e,(f
拿到匹配结果再处理、reverse
前提是你的运行环境的正则引擎支持平衡组
正则:\([^\)]*[^\(\)]*(((?'Open'\([^\(]*)[^\(\)]*)+((?'-Open'\)))+)*(?(Open)(?!))
源文本:(a,(b,(c,(d,(e,(f))))))
匹配结果:(a,(b,(c,(d,(e,(f
拿到匹配结果再处理、reverse
前提是你的运行环境的正则引擎支持平衡组
| 回复了 terrywater 创建的主题 › 开源电商 B2C, Fecshop 已经全部开发完毕,欢迎大家在线上项目使用2018 年 3 月 13 日 |
@terrywater 感谢为开源默默付出的工程师们
就酱紫吧,哈哈
就酱紫吧,哈哈
| 回复了 terrywater 创建的主题 › 开源电商 B2C, Fecshop 已经全部开发完毕,欢迎大家在线上项目使用2018 年 3 月 13 日 |
这个不错 值得好好学习研究一下。
支付宝同名账号已支持 66.66 ,希望越来越好!
支付宝同名账号已支持 66.66 ,希望越来越好!
| 回复了 razios 创建的主题 › 现在有哪些手机值得入手?2018 年 2 月 20 日 |
X,丝滑般的体验☺️
| 回复了 windyboy 创建的主题 › 请问如何让父母也会识别微信上传播的虚假信息2018 年 1 月 26 日 |
小程序 微信辟谣助手
| 回复了 1004 创建的主题 › 1、请向我安利一些谷歌插件。2、怎么“恢复”谷歌浏览器最近关闭的标签页?2018 年 1 月 26 日 |
Session Buddy 目前用过最好用的
| 回复了 ghostgril 创建的主题 › 虚拟机里安装的数据库如何在 window 里面访问呢2018 年 1 月 26 日 |
端口映射
