对象的存在是因为别人要用它
标题的意思是,对象之所以单独成为一个概念,而不是只是系统内部的实现细节,那是因为很多人需要调用它。
因此,对象的存在是因为被需要,如果没有人调用它,他就可以作为实现细节,从外观上消失。
比如一个超市的管理系统,为什么要有商品,为什么要有收银员,是因为老板需要经常查看这些信息,所以他成为一个独立的概念,是有意义的。
现实需求中,有很多实体对象,如果要一花一木都描述出来,那么就非常辛苦。有些人害怕自己不够面向对象,就迷恋不断的创建概念对象出来,这样会很累。如果你觉得自己很懒,觉得没必要对外开放一个独立的概念,就可以作为一个实现细节。虽然只有一个对象,而没有对象联系的系统是不可思议的,但是从理论角度,这也是面向对象,没必要说一定要很多对象,复杂的交互才是面向对象。
对于一个系统来说,设计复杂的对象关系是一件很辛苦的事情,有时候比实现细节还要麻烦,细节大不了你不爽了就改一改,这个在原型开发的时候也是很容易的,但是对象关系,如果不仔细调整,他成为外部概念后,就对整个系统,乃至将来的设计产生深远的影响,要知道一个错误的设计,比一个没有设计更加烦人。
对于原型开发来说,我认为除非你已经很了解业务,否则还是尽量先做好业务的算法,把整个系统了解一下,再来慢慢思考怎样的设计布局更加合理,更具扩展性。设计中的对象,并不一定等价于现实中的对象,现实中的对象你是按照重要性来排序的,而程序中的对象,你是按照他对其他对象的依赖性质来排序的,和系统其他对象越紧密的对象,越重要。现实生活中老板是你第一个要服侍好的对象,但是程序中可能就是收银机,因为顾客,收银员,商品都和他勾搭上了。我的意思是,生活中很重要的一些对象,在程序中也许只是一个字段就能表示的简单概念。
一些简单的想法,泛泛而谈。请大家有空留言一下。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
2010-05-14 听说新版飞信放弃了.Net 杯具啊~