Ruby设计模式:
坚守“ 做人真诚 · 做事靠谱 · 口碑至上 · 高效敬业 ”的价值观,专业网站建设服务10余年为成都成都纱窗小微创业公司专业提供成都定制网页设计营销网站建设商城网站建设手机网站建设小程序网站建设网站改版,从内容策划、视觉设计、底层架构、网页布局、功能开发迭代于一体的高端网站建设服务。
模板方法:定义一个操作中的算法的骨架而将一些步骤的实现延迟到子类中 模板方法使得之类可以不改变算法的结构既可重定义该算法的某些特定步骤。
- #%()用来定义单行字符串 --- 包含“ 并且有字符串插值
- class Report
- def output; puts "#{report_start}#{report_body}#{report_end}"; end
- def report_body
- %(\nbody\n)
- end
- end
- class HtmlReport < Report
- def report_start
- %()
- end
- def report_end
- %()
- end
- end
- class TextReport < Report
- def report_start
- %(=start=)
- end
- def report_end
- %(=end=)
- end
- end
- TextReport.new.output
- HtmlReport.new.output
结果:
=start=
body
=end=
body