写点什么

OOP 更适合组织你的代码么?

  • 2008-12-09
  • 本文字数:714 字

    阅读完需:约 2 分钟

功能强劲且灵活性高的编程语言最近在不断获得动力。然而 Johnatan Tang 就程序结构问题提出了灵活性和生产力的折衷,这是因为传统的面向对象使得程序的编写更加简单且直接

他说在单分支语言中,“给你一个参数或其他值,你就能明确知道可以用它来做什么”。然而在静态类型语言中,代码更能说明与之相关的值,在结构化类型语言中更是如此,对于一个给定的值,你马上就知道能在其上执行何种操作。对于静态和结构化类型语言来说,如果你想对一个给定的对象执行某个不被支持的操作,很明显就能看出来:

你编写一个方法来执行这个操作。如果你没有管理好那个类就会出问题,这正是 Ruby 和 C#转到开放类上的原因所在。 很明显我们知道应该在何处定义该方法:在你需要操纵的类上。

在多分支语言中,于何处编写方法以及“新的方法要接收哪些参数值”就不是那么明显的了。这在代码编写上提供了更大的灵活性但也意味着你要做出更多的决定并需要花费些精力来记住这些决定:

接下来当别人每次使用该方法时,他们都需要记住它定义在什么地方并增加适当的导入语句。如果他们忘了,就会遇到无法预料的行为,因为系统并未加载完成某个功能的适当的方法。

建立约定可以解决这个问题。然而 Tang 认为“如果语言不对约定进行强制限定,人们就不会遵守它”。他在尝试了为模块的排列定义一些模式后断言“这是特定领域所固有的问题:没有哪一个恰当的组织原则可以适合于所有人的程序”。

因此根据Johnatan Tang 所述,在程序的组织上并没有明显的解决方案能达到灵活性和生产力的折衷。你喜爱的语言怎么样呢?你能找到什么解决方案?让大家也一同分享你的经验吧,这两者之间有没有比较方便的折衷方案呢?

查看英文原文: Is OOP Better for Structuring your Code?

2008-12-09 10:54579
用户头像

发布了 88 篇内容, 共 262.3 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

JavaWeb 项目服务器部署详细教程(MySQL + JDK + Tomcat)

若尘

MySQL jdk javaWeb java编程 6月日更

java文件读写

hasWhere

阿里首次公布 Java10W 字面试复盘笔记,面面俱到、太全了

Java 程序员 架构 面试

缓存在哪-HTTP缓存原理介绍

hasWhere

区块链赋能农业振兴,农产品溯源系统

13530558032

区块链电子合同技术方案,区块链电子合同平台

13530558032

Bzz节点云矿机分币系统开发,云算力矿机租赁

阿里13年算法坚守者为你总结AI创新经验

阿里巴巴大淘宝技术

人工智能 AI 算法

VideoLab - 高性能且灵活的 iOS 视频剪辑与特效框架

Bear

开源 视频处理 Metal 视频特效 AVFoundation

Java各种场景获取路径

hasWhere

web.xml文件中的7个错误的安全配置

hasWhere

log4j日常使用

hasWhere

校友会小程序开发笔记七:校友互助功能模块设计与实现

CC同学

校友录小程序 同学录小程序

Bzz矿机分币APP,深圳云矿机系统开发

干货|车来了APM应用性能体验实践

APM App 稳定性 APP稳定性

实测 Google 全同态加密FHE,效果如何?

瑚琏

机器学习 隐私计算 多方安全计算 富数科技 Avatar2.0

「区块链+游戏」背后能否诞生下一个腾讯?

CECBC

新员工最想要的10件事

hasWhere

华为新员工入职180天详细培训计划

hasWhere

MySQL基础之十六:视图、DBA命令和三范式

打工人!

MySQL 6月日更

作为一名Android工程师,我们能为Fuchsia OS与鸿蒙OS做点什么

Changing Lin

JVM读书笔记

hasWhere

校友会小程序开发笔记六:校友活动聚会功能模块设计与实现

CC同学

校友录小程序

校友会小程序开发笔记八:校友相册功能模块设计与实现

CC同学

校友录小程序 同学录小程序

无需JavaScript可以实现的9个网页功能

devpoint

html5 html/css 6月日更

Zilliz 陈室余:女性的独特洞察,可能为开源发现新机遇 | ECUG Meetup 讲师专访

七牛云

数据库 开源 音视频 Meetup Milvus

直呼内行!阿里大佬离职带出内网专属“Spring Security Oauth2.0”学习笔记

Java 程序员 架构 面试 微服务

恭喜埃文科技入选“创新能力百强企业”!

郑州埃文科技

我以为我对Mysql很熟,直到遇到了阿里这份笔记

Java架构师迁哥

【得物技术】得物WMS如何助力仓库拣货

得物技术

供应链 商品 仓库 供应链物流 仓储

5分钟速读之Rust权威指南(二十五)Deref

wzx

rust

OOP更适合组织你的代码么?_编程语言_Sadek Drobi_InfoQ精选文章