换个角度看编程:Delegate、Observer与新技术的抉择

需积分: 3 19 下载量 144 浏览量 更新于2024-08-13 收藏 1.68MB PPT 举报
"换个角度做开发-CMDN CLUB # 18期:换个角度做开发" 在本次CMDN CLUB的分享中,主题为“换个角度做开发”,由林本杰带领我们探讨了软件开发中的不同视角和策略。演讲者通过一些实际的场景和问题,引导我们思考如何更好地进行软件开发工作。 首先,林本杰提到了一个常见的问题:“为什么我们的团队成员年龄偏大?”这引发了对团队构成、经验和新技术接纳度的讨论。在快速发展的IT行业中,不断学习和适应新事物是保持竞争力的关键。同时,经验丰富的程序员往往能带来更稳定的项目管理和更深入的问题解决能力。 接着,演讲涉及到了招聘过程中的一个常见问题,应聘者询问是否会在新项目中工作。这反映出开发者对于参与创新和挑战新事物的热情。开发团队不仅需要推动新项目的发展,也要关注已有项目的持续优化。 演讲的关键字包括Delegate、Block、Observer模式、命令式编程与声明式编程、关系型数据库(RDB)与对象数据库(ODB)以及集中式与分布式设计。这些是软件开发中的核心概念: 1. Delegate与Observer:两者都是iOS和Objective-C中的消息传递机制,用于实现对象间的通信。Delegate更偏向于一对一的关系,而Observer则支持一对多,允许一个对象监听多个其他对象的变化。 示例中展示了AppDelegate如何使用Delegate方法在应用即将终止时保存数据库数据。相比之下,Observer模式(如NSNotification)允许一个对象在特定事件发生时通知多个对象。 2. Delegate与Block:Delegate通常用于定义接口,Block则提供了更加灵活的代码块传递,常用于回调函数或闭包。Block可以在运行时定义,可嵌套,可以捕获上下文变量,使其在某些情况下更便于使用。 3. 命令式编程与声明式编程:命令式编程注重步骤和操作顺序,而声明式编程关注结果而不关心如何达到结果。Swift中的Closures和Functions体现了命令式编程,而SwiftUI和SQL的查询则更倾向于声明式。 4. RDB与ODB:关系型数据库强调结构化数据和固定的表结构,适合复杂事务处理;而对象数据库则直接存储对象,适合对象模型复杂的系统。选择哪种取决于具体需求和应用场景。 5. 集中与分散:在软件架构设计中,集中式通常意味着所有组件都在同一系统上,而分布式则将任务分发到多个节点。现代微服务架构更倾向于分布式,以提高可扩展性和容错性。 通过这些不同的角度,开发者可以更全面地理解软件开发的各个方面,从而做出更明智的技术决策和团队管理策略。