Framework感悟

肝完了,我的Android Framework学习之路! 前两天,我跟一个面试官聊天,发现一个普遍现象,不少候选人,对Framework的认知,还处在比较基础的阶段,以为会写几个UI、业务代码就足够了,那些工作中经常遇到的复杂场景问题和性能问题,却支支吾吾答不上来,比如常说的 Handler,MessageQueue,Looper。看源码你就可以更好的理解那些概念: ThreadLocal 做什么的? Thread 和 Handler 的关系 为什么不能在子线程更新 UI? idleHandler 什么时候运行? 主线程为什么循环却不会卡死? ContentPr 阅读详情
现在有很多Framework概念的额东西,Framework顾名思义就是一个骨架,就是一个semp-complete的application,application的开发者可以在framework上添加血肉。自然,Framework实现了比较generic的功能,但是这个"generic"也是有限的,还没有见过一个framework能够适用于任何应用的。

现代的Framework都是要面对用户交互的,自然要面对的问题就是来了一个用户输入,作出对应的响应,从最直观上说,就是一堆if...else...语句,但是if...else...语句实在太难以维护了,首先code写的很长,看code要找到对应的逻辑就很难,修改起来更加不容易。

进一步,可以用一个数组把用户输入和响应对应起来,这样维护一大串if...else...就变成了维护这个数组,自然简化了很多了。

还可以更进一步,维护一个数组虽然简化了维护,但是如果要更改的话,还是需要编译,如果把这个数组从code里面抽出来放在一个配置文件里(如xml文件),code里面通过读这个配置动态的获得数组,这样就让维护工作不需要修改编译代码了。当然,效率可能受一点影响。

现在很多J2EE的Framework如structs就是这种思路,据说有的游戏开发也使用这种方式以方便配置升级,最近研究了一下MFC,大方向一致,但是没有走到最后一步,这个数组还是在code里面,不过通过C++的macro巧妙的简化了维护这个数组的工作,不知道在新的微软平台里,会不会出现类似structs这样的方式。




试读《C#高级编程(第9版)》有感 在写这篇书评之前,我想先说一下自己。我是一名对日外包程序员,自己从事外包工作也已经有八个年头了。开始接触软件开发,我是从学习Java语言入手的,自己从事了外包这一行,才发现自己单纯的会一种编程语言是远远不够。当你被公司重视的时候,成为了一名软件项目的消防员,就会发现自己掌握的语言匮乏了。也就是在自己入行第三年,自己开始广泛的涉猎各种开发语言,做各种语言的helloworld,可是疲于开发语言众多, 阅读详情

相关推荐

Vivado IP核与License许可全解析:从免费到收费,从评估到部署

本文全面解析Vivado IP核与License许可机制,从免费到收费IP核的选型指南到License的申请与部署策略。详细介绍了Xilinx官方IP核的优势与局限,第三方IP核的风险与应对,以及实战中的资源优化技巧和版本兼容性问题,帮助开发者高效利用Vivado工具链。

weixin_29169505的博客 367

Framework感悟 (堕落兽人)

Framework感悟document.title="Framework感悟 - "+document.title 现在有很多Framework概念的额东西,Framework顾名思义就是一个骨架,就是一个semp-complete的application,application的开发者可以在framework上添加血肉。自然,Framework实现了比较generic的功能,但是这个"g

DOEU 926

电源完整性仿真流程梳理

可根据仿真流程导图,一步一步的去设置完成仿真。仿真的关键,在于对电路回路的理解以及所放置的电压源与电流的合理性,对于去耦电容的选择,则需要根据谐振频率计算,从而选取有效滤波的容值。

csy17729158342的博客 3442

30岁,该有什么感悟?,阿里资深Android开发带你入门Framework

因为你的可替代性高,所以性价比下降。反之,因为你不可替代性高,所以老板会给你开高工资。不是这样的吗?有一则小故事:技师退休时告诫自己的徒弟:“少说话,多做事。十年后徒弟也成了技师,他找到师傅,苦着脸说:“师傅,我一直都按您的教导做,只知埋头苦干,可那些比我技术差的都升职了、加薪了,我还是拿着过去的工资。师傅想了想,说:“你请一次假吧。如果一盏灯一直亮着,那就没人会注意到它……”徒弟恍然大悟,真的请了一星期假,等他回去上班时,厂长找到他说要给他加薪。原来,在他请假时,厂长发现,工厂已经离不开他了。

2401_83977825的博客 1092

一文读懂,WMS仓库管理系统模块功能

对于仓库管理人员来说,仓储管理是一件需要十分负责、又精细化的工作。

深蓝易网的博客 5219

中文顶刊《会计研究》文本分析技术最新进展总结盘点

会计研究》是由中华人民共和国财政部主管、中国会计学会主办的国家一级学术期刊,为会计领域中文顶级期刊。随着大数据技术的日益成熟, 社交网络类文本 、上市公司披露类文本、媒体报道类文本、 其他类文本 、网络搜索数据、P2P 网络借贷文 本与分析师报告等文本数据逐渐成为财务会计的研究素材。

qq_52891550的博客 2891

我的嵌入式开发之路(.Net Micro Framework)

以前认为在wince或windows mobile上用VS2005/VS2008做一两个应用程序就算嵌入式开发了,深一点,能用PB定制WINCE系统,用EVC开发驱动程序,就算更深层次的嵌入式开发了(由于对liunx、UcLinux、ucosII不太熟,不敢奢谈)。及至到现在做了大约3、4个月.Net Micro Framework porting kit的开发才熟悉了RVD...

weixin_34216196的博客 73

并行计算:从概念起源到多层次架构设计及其发展历程的全面解析

20世纪70年代,第一台并行计算机于1972年产生(ILLIAC IV,伊利诺依大学),由64个处理器组成,可扩展性好,但可编程性差。如有21亩地需要除草,一个人一天只能除一亩地的草,那么需要21天才能除完草,这在现实中是不太可能的,因庄稼是有时间段的。其二是机群系统是高性能计算机的一种,它的技术基础和工业基础都是商品化和标准化。之所以称为“专用”,并不是说它们只能运行某种应用,是指它们的组成部件是专门设计的,它们的CPU板、内存板和I/O板,甚至操作系统,都是不能在其它系统中使用的。

1654

jre与dotnent framework

jre-6u2-windows-i586-p.exe     13.9M dotnetfx.exe            22.5M 以后都不抱怨java虚拟机大了

Sometimes Java 1732

YOLO26优化:注意力魔改 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点

用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 490

【招商银行笔试题汇总】[全网首发]2024-04-23-招商银行春秋招笔试题-三语言题解(CPP/Python/Java)

🏳️ 难难难!!!本次招商银行的笔试算是今年春招最难的场次之一了K小姐所在的公司有 NNN 个部门,编号从 111 到 NNN。由于公司网络系统比较老旧,对于同一个数据 ddd,不同部门记录的值可能不同。数据 ddd 在各部门被记录为 d1,d2,...,dNd_1, d_2, ..., d_Nd1​,d2​,...,dN​。公司提出可以通过会议来实现数据的一致性。每次会议会让相邻编号范围内的所有部门一起参加,如果有超过半数的部门能够对数据 ddd 的值达成共识,那么在此次会议后,参与会议的所有部门会将

春秋招笔试突围 3463

Dubbon入门, dubbon最轻松入门代码,代码完整,非常清晰,最快入门完整代码

这里都提供了图片, 还是希望自己巧哈, 能加深一下体会, 别动不动copy代码哈, 记得点赞关注… 最后,我自己的项目, https://github.com/mydata-framework/mydata-framework 添加链接描述希望大家去帮忙点个赞! 至此,感谢! ...

t_jindao的博客 675

Yolov8-pose关键点检测:训练实战篇 | 手部关键点检测

yolo8-pose实战检测手部关键点并优化。

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 3396

Thinking in .NET:我对.NET的全局思考

随着.NET Framework 3.0在2006年底的发布,像很多一直跟着微软技术冲浪的人一样,我也陷入了新的技术浪潮到来之际的某种紧张和不自信。《代码大全(第二版)》中关于技术浪潮有这样一段叙述(第4.3节,第66页): “(处于)技术浪潮(的不同时期)即意味着不同的编程实践,(而)编程实践(也即)取决于你在技术浪潮中所处的位置。……关键在于,你(将)如何面对自己的编程工作,这取决于你在技术

Thinking in .NET (WPF, WCF, WF...) - .NET全局思考 729

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

轉載2008年總結

2008----我们生活的年代 原本没打算写这篇总结,理由很简单。今天上半年的“天灾”,下半年的“人祸”。好不容易 快到年底了,金融海啸又来了。唯一举国欢庆的“奥运会”终于开完之后,乘城铁还是要安检排大 队,实在是让人与郁闷。 最近看了一部也是我今年看的唯一一部电视剧《我们生活的年代》,其实也正是这部电视让我 感觉有必要写一篇关于今年的总结。当...

a516831114的博客 170

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android程序员到底有多累,多辛苦?

去过了尼泊尔 Poolhill、江西武功山、浙江七尖、徽杭古道、仙霞古道,假期基本都在路上。我开始在上海各个咖啡馆敲代码。这工作环境,秒杀大公司惨白的灯光、压抑的环境好几个档次好嘛!我开始健身。人变得挺拔多了,和产品据理力争的时候不用担心挨揍。我开始阅读。是一种出于兴趣和好奇而进行的更广泛的阅读,通过旅行和阅读发现更大的世界。看过了那么多壮丽的风景之后才明白:觉得累,很多时候是自己心态不对,闲的没事时候,就要离开计算机,出去走走。工作的时候就认真工作。

2501_90257195的博客 838

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

.net core redis 驱动推荐,为什么不使用 StackExchange.Redis

前言本人从事 .netcore 转型已两年有余,对 .net core 颇有好感,这一切得益于优秀的语法、框架设计。2006年开始使用 .net 2.0,从 asp.ne...

dotNET跨平台 3340

与.Net的缘分

.Net

xianye8131的博客 708

学习体会20060504

早上没睡好,头痛了大半天。一到晚上,顿时精神了。看来我还是一个注定的夜行动物。前段时间太忙,体会不少,但笔记不多。努力回想,尽量的多写一些。C++和VC++:毕业设计是在MFC下做的。实践出真知。开始对C++有了多一些的了解。最不适应的是C++的非安全模式。New出来的数组,如果超出了界限,并不一定会报错。比如new int[10]。在使用int[11]访问时,返回一个乱其八糟的值。有一次,为了找...

weixin_33875839的博客 71

ABP vNext系列文章和视频

《Mastering ABP Framework》图书目录 第一部分 企业级软件开发和ABP框架ABP框架入门ABP应用开发(Step by Step)-上篇ABP应用开发(Step by Step)-下篇探索ABP的EventHub解决方案 第二部分 探索ABP基础架构-上探索ABP基础架构-下数据访问基础架构-上数据访问基础架构-下探索ABP基础架构的横切关注点体验 ABP 的功能和服务 后...

张飞洪的博客 83

近期感悟

十一前换的工作,现在刚好十月十五号了,一下子进公司也有半个多月了,之前一直是做android 手机APP开发的,现在主要做的工作是车联方面的,一开始我感觉到难度提升了不少,但是静心想一想,其实做了安卓快两年了,虽不能说自己是什么高手吧,正如很流行的一句话“本人从不生产代码,我只是代码的搬运工!”,经过了两年的android 手机APP开发后,自然一般性的问题也就不会再难到我,现在我也想总结下自己,

kenderson的专栏 486

工作一年,突然有新的感悟

去年六月份毕业之后,凭着七分的运气来到这个公司,接触一个全新的领域——framework。可笑我之前以为android开发就只是应用开发,接触了framework之后像是打开了新世界的大门,但是因为涉及的内容太多,我又完全没有接触过,最开始那段时间真的是觉得太难了,好在有一个极其靠谱的大神一直指导我,现在回想我曾经问他的那些问题,有些简直是常识性问题,但是他一点也没有不耐烦,在此感谢。 慢慢的我

wangjing4444的博客 2182

.NET Framework4.5 & .NET Framework4.0

楔子 IDE:VS2013,.NET Framework 描述:在已经引用命名空间System.Configuration的前提下,却无法使用该命名空间下的AppSettings函数。

正心 诚意 修身 3774

VB.NET小结

    在满头困惑与不断的摸索中.NET视频终究是看完了,感觉这是迄今为止的视频材料中最令人头疼的一个,漫天的繁体字和标准的台湾术语,真是让人欲罢不能。只是看着看着也就慢慢习惯了,大概可以理解老师在讲什么,可是就总体而言对.NET的认识远远不够,所以迫切须要找一本对应的课本看看,巩固和提高一下对.NET的学习。     从网上下载了一本关于VB.NET程序设计的书。花了半个小时看完了,不...

weixin_34163741的博客 136

感悟.Net的版本问题

来源:Wu.Country@侠缘 - 博客园  如果你是一位理性的消费者,你应该遵守这一原则。商家总会想一切办法让你相信,他的最新产品是最好的,是最适合你的。然而,他的很大一个目的就是想要你口袋里的Money,当然他的新产品也许真的很不错。但我们应该理智一点,仔细的判断一下:这是你必须的?还是你想要的?(呵呵,这跟编程有鸟关系?!!)  OK,前两天在优快云上看到一文,是讲述MS中国在北京做的一

TonyWang的专栏 1534

工作感悟20170919

不知不觉写了6年多代码了,还记得12年3月13日,入职的第一天接到的任务就是更新一个Framework2.0框架的Winform程序。 还记得那是个HIS系统的住院医嘱界面,前台界面在VS2005里都没法打开(因为控件命名空间等问题VS无法识别)。然后行数接近2W行。 当时内心是崩溃的,从来没见过这么多行数的cs文件。当时下班就和同事说要不要明天跑路,最后还是留下来了。这一干就是3年...

84
上一篇: 小议手机软件平台开发(4) - 政治问题
下一篇: 以数据为中心的软件,一例
FallenOrc
博客等级 码龄22年 2粉丝 24原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值