当前位置:  开发笔记 > 编程语言 > 正文

原型与课程

如何解决《原型与课程》经验,为你挑选了1个好方法。

Steve Yegge最近发布了一篇关于他称之为通用设计模式的有趣博客文章.在那里,他详细介绍了使用原型作为建模工具,而不是类.我喜欢与继承相比引入更少耦合的方式.但是,通过使用其他类而不是继承来实现类,这也可以通过类获得.是否有其他人有使用原型的成功故事,并且可以帮助解释使用原型与类相比有何优势.我想这归结为静态建模与动态建模,但更多的例子将非常受欢迎.



1> Corbin March..:

一个有趣的是,很容易使基于原型的语言成为OO,但很难使OO语言基于原型.

Alex Arnell的inheritance.js是一个简短而又甜蜜的代码块,它使JavaScript成为OO,完全可以访问父级"Class".

这是John Resig针对同一问题的解决方案之一:http://ejohn.org/blog/simple-javascript-inheritance/.

Lua中编程的第16章描述了Lua中的面向对象.具体来说,第16.2节给出了一个很好的继承示例.

除了你提到的构图与继承之外,还不完全清楚OO作为原型会是什么样子.

原型语言使复杂的继承行为变得容易.您可以实现多重继承,类似mixin的行为,或者只是从一个对象中选择要添加到另一个对象的内容.

维基百科的文章提到:"基于原型的编程的倡导者经常争辩说,基于类的语言鼓励开发模型首先关注类的分类和关系.相比之下,基于原型的编程被视为鼓励程序员专注于一些示例的行为,后来才担心将这些对象分类为原型对象,这些对象后来以类似于类的方式使用."

这并不是说原型范例都是优点而不是缺点.如果OO更具限制性,那是因为它选择了.如果你不小心,我可以看到所有灵活性可能会给你带来麻烦.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有