非常'肤浅'的理解MVVM

那天领导给了我这么一个需求,就是他会通过接口给我传递一条数据,然后我需要判断这条数据的首字母是不是A,如果是的话,就把这条数据保存下来

很简单的一个需求对吧,直接开干,代码如下

完美的解决这个问题,所以我把这段代码拿去给领导看,领导不满意,说我代码是屎,我很不高兴,但是我也不能发脾气。

所以我去认真思考了一下这段代码,这不挺好的吗,我截取了首字母,然后和A来判断是不是相等。没什么问题呀。

所以我拿着我的代码去找了一名叫菲菲的代码工程师,他让我把代码改成下面这样

我一看,这不一样吗,判断str的首字母是不是A。

菲菲说,你仔细想想,你的代码结果可能没变,代码量也好像没什么变化,但是当你看到两段代码的时候,你脑子里面的想法是不是不一样了?

我恍然大悟(黄色背景的文字)。

菲菲又说,写代码其实就是这样的, 有时候写的代码看上去饶了很大一圈,或者利用了什么框架,代码量可能不减反增,但是你写的代码是给人看的,人是要思考的,

我们应该减少的是思考的过程,这样我们才能保住我们的头发。

所以我就把这个思维放到理解其他项目中去,我想到了WPF的mvvm模式,他不是也是干了这么一件事情吗

以代码为例,一个界面就一个名为tbName的textbox

我想给这个名为tbName的文本框赋值一个名字,叫 吴彦祖

如果不采用mvvm模式,那代码就是这样的 tbName.Text = "吴彦祖";

那可能其他人看到这段代码的想法就是,写代码的人,把一个叫tbName的文本框赋值了吴彦祖;

如果我们采用了mvvm模式,把textbox的Text属性绑定到了Name上面,代码就是 Name = '吴彦祖';

其他人看到代码,他不用打开前端去查看tbName是什么,tbName在什么位置,他就知道这个人干了什么事,他把Name属性赋值了吴彦祖;

然后我把菲菲给我说的话,加上自己的理解,去给领导讲了,领导介绍了一个富婆给我,我现在都不用写代码了...

相关推荐
SamChan9013 小时前
Python+PyMuPDF提取PDF表格并翻译:表格结构检测与双语重建实战
windows·python·ai·pdf·wpf
SamChan9014 小时前
Python+OpenCV检测PDF翻译后排版偏移:像素级格式一致性验证
python·opencv·ai·pdf·wpf
FuckPatience15 小时前
WPF 拿到控件的最初样式,修改获得焦点样式
wpf
主宰者15 小时前
【WPF】MainWindow前添加加载窗口,发现加载过程中有白色无内容窗口闪烁一下的解决方案
wpf
Vae_Mars2 天前
WPF中的ControlTemplate(控件模板)
wpf
SamChan902 天前
Python+ReportLab自动生成PDF翻译质量审计报告:从数据到可视化的完整方案
开发语言·python·ai·pdf·wpf
circuitsosk2 天前
多智能体协同在能源数据分析中的实践:分配-执行-校验闭环架构设计
python·数据分析·wpf·能源·并行计算·多智能体系统·agent协作
weixin199701080162 天前
《大促护航:电商API限流与降级,双11峰值500万调用的架构复盘》(附Python源码)
python·架构·wpf
hh9503 天前
gent Plan x DeepSeek Harness:多 Agent 协作场景下的中央编排实践
人工智能·wpf·adg·火山引擎·agent plan·adg成都社区
Vae_Mars3 天前
WPF中的Lazy<T>使用方法
wpf