`
ada_fzh
  • 浏览: 335 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

ruby设计模式学习笔记 (一)

    博客分类:
  • ruby
阅读更多
所谓的模式
1、把变和不变的事物分开
2、针对接口编程,而不对实现编程
3、组合优先于继承
4、委托,委托,委托


模板方法模式(Template Method)
引用书中的解释:
模板方法模式,这种模式简单的说就是当你需要变换算法的时候,提供一种独特的实现方法。
这个方法是将不变的部分放在一个基类中,并将变换的部分封装在其下多个子类的方法中。
其中一种可以是基类不定义这些方法,由它的子类来实现这些方法。
另一种是基类提供这些方法的默认实现,子类可以根据需要重载它们。

模板方法模式的代码演进过程待后续整理后会附加上来。

理解设计模式的重要性,是不要一味的为了模式而用模式,不能一味的套用。实际应用中很难会碰到例子中恰巧用的那么好的模式。如果总是想着用哪个模式去解决实际问题,那么一定会把简单问题复杂化。


分享到:
评论

相关推荐

    MVC设计模式讲解笔记

    **MVC设计模式详解** **一、MVC模式概述** MVC(Model-View-Controller)设计模式是一...总之,掌握MVC设计模式对于提升软件开发能力至关重要,通过理论学习与实践相结合,可以更好地理解和运用这一强大的设计模式。

    Ruby_On_Rails笔记

    综上所述,Ruby on Rails的笔记内容涵盖了从安装Rails环境到创建和运行一个简单的Rails项目的基础知识,这些内容对于初学者来说是学习Rails框架的极好入门材料。通过对这些知识点的学习,初学者可以快速了解Rails的...

    Ruby_on_Rails笔记

    在Rails中,MVC架构是非常核心的设计模式。每个部分都有明确的职责: - **Model(模型)**: 负责处理数据逻辑和数据库交互。 - **View(视图)**: 展示数据给用户,即HTML页面。 - **Controller(控制器)**: 处理...

    Java JDK 6学习笔记.zip

    这个压缩包“Java JDK 6学习笔记.zip”显然是一个包含有关Java JDK 6深入学习资源的集合,可能是PDF文档、笔记或者其他形式的教学材料。 在Java JDK 6中,有几个关键的特性值得我们关注: 1. **改进的性能**:JDK ...

    Ruby学习资料(含参考手册和Programming Ruby)-中文.rar

    "ruby--.txt"可能是一个文本文件,其中包含了Ruby的代码示例、笔记或者问题解答,通过阅读可以加深对Ruby语法和实践的理解。 "Ruby语言入门教程附实例"和"ruby-mht"文件很可能是包含实例的教程,实践是学习编程的...

    ruby-kaigi-notes-源码.rar

    7. **设计模式与重构**:Ruby 中的应用设计模式和重构策略也是笔记的重点。通过源码,我们可以学习如何在 Ruby 中应用经典的面向对象设计模式,以及如何优雅地重构代码。 8. **社区与开源文化**:Ruby Kaigi 强调...

    ruby_dojo:Ruby道场

    “ Ruby中的设计模式” “ Ruby测验” “ RubyGems文档索引(localhost)” “ Ruby Rogues-播客” “ Ruby学习笔记-rubylearning.com” http://rubylearning.com/satishtalim/tutorial.html “元编程-...

    Ruby-Hologram一个基于markdown的文档系统风格指南

    Markdown语法简洁,学习曲线平缓,因此在软件开发中广泛用于编写文档和笔记。 Hologram的工作流程如下: 1. **配置**: 用户需要创建一个`config.hologram`或`.hologram.yml`配置文件,定义项目的基本信息,比如...

    RabbitMQ学习笔记

    **RabbitMQ学习笔记** RabbitMQ是一款广泛应用的消息中间件,它基于AMQP(Advanced Message Queuing Protocol)协议,能够实现在分布式系统中可靠的消息传递。RabbitMQ的核心功能是作为一个消息代理,允许应用程序...

    redis 的学习笔记A

    它支持丰富的数据类型,如字符串、列表、集合、有序集合和哈希,这使得在设计解决方案时可以充分利用这些数据结构。此外,Redis还支持发布订阅模式、事务、lua脚本等功能,增强了其实用性。 3. Redis与Memcached的...

    一个后端技术栈分享平台,主要收集后端相关的技术文档、读书笔记、专题学习等。.zip

    读书笔记是个人学习和理解的体现,可能是对技术书籍的提炼和总结,例如《深入浅出计算机组成原理》、《设计模式:可复用面向对象软件的基础》等经典书籍的笔记。这些笔记可以帮助初学者快速掌握核心概念,也能让有...

    Ruby-on-Rails-101:Ruby on Rails 笔记摘自 WDI HKV 和其他来源。 比如,lynda的在线Rails教程

    - **MVC架构**:Rails采用Model-View-Controller(MVC)设计模式,将业务逻辑(Model)、用户界面(View)和控制逻辑(Controller)分离,提高了代码的可读性和可维护性。 - **ActiveRecord**:Rails中的ORM(对象...

    疯狂JAVA之学习笔记(1--15)

    JVM 设计为一个抽象的计算机模型,可以实现为软件或硬件。它的主要目标是在任何操作系统或硬件架构上都能运行 Java 字节码。JVM 的核心在于字节码的规格定义,包括: - **操作码和操作数**:规定了如何解析和执行...

    ruby-on-the-way:学习 ruby 和 rails 相关资料

    Rails是基于Ruby构建的一款开源Web应用框架,它遵循MVC(模型-视图-控制器)架构模式,极大地提高了开发效率。本资料包“ruby-on-the-way”显然是一份用于学习Ruby和Rails的资源集合,旨在帮助初学者掌握这两项技术...

    ruby_on_rails_learning:我的RoR笔记本

    Ruby on Rails,简称RoR,是由David Heinemeier Hansson基于Ruby语言开发的一款开源Web应用程序框架,它遵循MVC(模型-视图-控制器)架构模式,旨在提高开发效率和可读性,使得开发者能够更快速地构建功能丰富的web...

    rails_入门详细笔记(官网翻译).

    ### Rails 入门详细笔记知识点解析 #### 一、环境搭建 在开始使用 Rails 进行开发之前,首先需要确保你的开发环境满足以下条件: - **Ruby 版本**:推荐使用 Ruby 1.9.2 或更高版本。这是因为早期版本如 1.8.7 ...

    Notebook:使用Ruby on Rails,HAML和CSS的笔记本应用

    这个应用的核心是Ruby on Rails框架,它是一个强大的、基于模型-视图-控制器(MVC)架构模式的Web开发框架,以其生产力和灵活性而闻名。Ruby on Rails鼓励开发者遵循DRY(Don't Repeat Yourself)原则,以及使用约定...

    笔记本

    总的来说,这个“笔记本”项目是一个基于Ruby on Rails框架的Web应用,它的开发遵循了MVC设计模式,可能涉及到书籍管理或学术计算的业务逻辑。通过下载并解压“acmbook-master”压缩包,开发者可以进一步研究其代码...

Global site tag (gtag.js) - Google Analytics