Ruby编程:从基础到设计模式的灵活应用
1. Ruby编程的独特魅力
在编程的世界里,Ruby以其独特的魅力脱颖而出。它的鸭子类型和动态特性,彻底改变了我们解决编程问题的方式。当需要改变某个类中深藏的算法时,我们既可以构建一个策略对象,也可以简单地传入一个代码块。像代理和装饰器这类高度依赖委托的模式,在Ruby中不再是繁琐的样板代码编写过程。
Ruby的动态和反射特性,让我们能够拥抱工厂的概念,同时突破经典抽象工厂和工厂方法模式受继承限制的束缚。在Ruby这样的语言中,适配器不再是难题,因为我们可以随时调整对象的接口。虽然外部迭代器在Ruby中是可行的,但真正无处不在的是内部迭代器。内部领域特定语言技术意味着,在构建解释器时,我们常常可以直接使用Ruby解释器作为解析器。
2. 设计模式在Ruby中的演变
设计模式的出现是编程艺术的一大飞跃,但自相关书籍出版已过去近十五年。如今,如果我们仍以同样的方式解决相同的问题,那将是对我们职业的悲哀。许多原始的设计模式确实是长久有效的解决方案,但当将它们移植到不同的语言,如Ruby时,会有一些细微的不同。
Ruby语言几乎无限的灵活性是导致这些差异的主要原因。在Ruby编程时,如果对某个类的行为或接口不满意,我们有多种选择。可以用适配器包装该类的实例,也可以对其进行装饰或代理,还能创建一个工厂来生产这些包装实例,甚至将工厂作为单例使用。如果处理的是复杂的业务对象,这些方法可能是明智的。但如果处理的是我们熟悉的简单对象,直接修改对象以使其具有所需的行为即可。Ruby让我们无需使用相对重量级的设计模式来解决小问题,它允许我们简单地处理简单的事情。
Ruby与设计模式灵活应用
超级会员免费看
订阅专栏 解锁全文

28

被折叠的 条评论
为什么被折叠?



