读后感
文章平均质量分 70
nicolelili1
这个作者很懒,什么都没留下…
展开
-
大话设计模式十七之组合模式
为一家在全国许多城市都有分销机构的大公司做办公管理系统,总部有人力资源、财务、运营等部门。它们在北京有总部,在全国几大城市都设有分公司,比如上海设有华东区分布,然后在一些省会城市还设有办事处,比如南京办事处、杭州办事处。现在的问题是,总公司的人力资源部、财务部等办公管理功能在所有的分公司或办事处都需要有。简单复制是最糟糕的设计,如果以共享功能到各个分公司,也就是让总部、分公司、办事处用同一套代码,...转载 2018-04-28 11:32:13 · 285 阅读 · 0 评论 -
大话设计模式十八之迭代器模式
售票员其实在做一件重要的事,就是把车厢里的所有人都遍历了一遍,不放过一个不买票的乘客。者也是一个设计模式的体现。迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中各个元素,而又不爆露该对象的内部表示。当你需要访问一个聚集对象,而且不管这些对象是什么都需要遍历的时候,你就应该考虑用迭代器模式。需要对聚集有多种方式遍历时,可以考虑用迭代器模式。为遍历不同的聚集结构提供如开始、下一个、是...转载 2018-04-28 13:18:32 · 197 阅读 · 0 评论 -
大话设计模式十九之单例模式
写一个MDI窗体程序,当中有一个是‘工具箱’的窗体,希望工具箱要么不出现,出现也只出现一个,可实际上却是每点击菜单,实例化‘工具箱’,就会出来一个,这样点击多次就会出现很多个‘工具箱’每点击一次‘工具箱’的菜单项,就产生一个新的‘工具箱’窗体,但实际上,只希望它出现一次,或者干脆部出现。一、判断对象是否是null判断一下FormToolbox有没有实例化过就行了。这里是在按了菜单按钮时,才去For...转载 2018-04-28 14:56:55 · 289 阅读 · 0 评论 -
App架构师实践指南一之App基础语法
第二章:App基础语法1、编程范式编程范型或编程范式(programming paradigm),是指从事软件工程的一类典型的编程风格。常见的编程范式有过程化(命令行)编程、事件驱动编程、面向对象编程以及函数编程等。2、封装、继承与多态OO(面向对象)思想中有三大支柱,分别为封装、继承、多态。封装是OO概念中最基础的,其本质可以理解成将一堆函数和一堆对象放在一起,对外暴漏接口,隐藏具体执行细节。继...转载 2018-07-16 14:00:17 · 783 阅读 · 0 评论 -
App架构师实践指南五之性能优化二
从UI和CPU方面来说App流畅体验优化,核心为流畅度/卡顿性能优化。1、基础原理用户可以感知卡顿等性能问题的根本原因在于渲染性能。1.1 绘制原理(16ms原则)。Android系统每隔16ms发出VSync信号,触发对UI进行渲染,这就意味着Android系统要求每一帧都要在16ms这个时间内绘制完成。如图9-3所示。如果某项操作话费的时间是24ms,系统在得到VSync信号的...转载 2018-07-30 13:08:44 · 614 阅读 · 1 评论 -
App架构师实践指南器之性能优化四
1、网络性能描述节流针对流量,移动数据网络下直接关乎用户的money;节电针对电池电量,快,关乎用户体验。1.1 Wi-Fi与蜂窝网络---Wi-Fi,是一个基于IEEE802.11标准的无线局域网技术。---蜂窝网(Cellular network),也称移动网络,是一种移动通信硬件架构,分为模拟蜂窝网络和数字蜂窝网络,常见类型有GSM、CDMA、3G、TDMA、4G等。1....转载 2018-08-09 15:14:20 · 299 阅读 · 0 评论 -
App架构师实践指南六之性能优化三
内存性能优化1、内存机制和原理1.1 内存管理内存时一个基础又高深的话题,从认识内存到使用内存,再到管理内存,伴随着编程生涯。程序本身只是一个内存中数据不断迁移和CPU不断进行数值运算的过程,一层层高级语言和软件工程将这个复杂过程更加条理有序地去组织了,避免了“重复制造车轮”的繁琐,但内存问题的本身是不可避免的。1.2 Android内存机制Android本身既支持java,...转载 2018-08-02 13:57:57 · 508 阅读 · 0 评论 -
App架构师实践指南器之性能优化五
针对App包size,如果硬是要牺牲业务或者消耗太多时间且效果也不一定最佳,那就得不偿失了,因此要学会把握这个度。1、App包Size优化概述1.1 瘦身目的App包Size优化,即通过App瘦身来提高App的下载转化率,这是具体业务运营指标,通俗一点理解就是APP包Size越小,用户下载等待时间越短,更适应低存储容量配置的手机,应用下载转化率也就越高。1.2安装包组成APP发布时,最终...转载 2018-08-15 13:41:10 · 397 阅读 · 0 评论 -
App架构师实践指南器之性能优化六
"天下武功,唯快不破",用户一般期许App响应和加载速度越快越好,如果启动速度慢了,给用户的第一印象就差了,可能导致用户较低的评分甚至直接卸载。1、APP启动方式和流程---Cold Start。冷启动,指在App启动之前,该App的进程还没有创建,例如在安装后第一次启动、设备重启或者应用被杀死等情况下发生。如图9-18所示为Android中一次App冷启动重要过程展示,涉及加载并启动App,...转载 2018-08-15 13:53:58 · 396 阅读 · 0 评论 -
青山处处埋忠骨
https://www.iqiyi.com/v_19rqz23hxg.html经过15天的极限改造历经高温、酷暑、暴雨和种种意外历经初期的迷茫和挫折与随后的坚定推进这场由上海和平顶山两地接力由多方参与的与时间的赛跑终于开始了向终点的冲刺青山处处埋忠骨这片土地上浴血奋战的一幕不会湮灭在历史的长河 喜开太平戎马一生归来仍是少年鲐背乔迁新居日长岁安十五天的...转载 2018-10-21 02:01:45 · 377 阅读 · 0 评论 -
《少有人走的路》摘录一
深入心灵,是一段艰难的旅程,也是一条少有人走的路。你不解决问题,你就会成为问题。人生苦难重重。这是个伟大的真理,是世界上最伟大的真理之一。解决人生问题的关键在于自律。人若缺少自律,就不可能解决任何麻烦和问题。在某些方面自律,只能解决某些问题,全面的自律才能解决人生所有的问题。自律有四个原则:推迟满足感、承担责任、忠于事实、保持平衡。推迟满足感,就是不贪图暂时的安逸,先苦后甜,重...转载 2019-01-20 23:10:28 · 1116 阅读 · 0 评论 -
大话设计模式十二之观察者模式
最近项目计划排得紧,股市特别火,所以很多人都在偷偷地通过网页看行情。老板市场会出门办事,如果老板回来,让前台秘书打一个电话进来,大家也好马上各就各位,这样就不会被老板发现问题了。一、双向耦合的代码其间发生的事情的代码把整个事情都包括了,现在的问题是,这个‘前台’类和这个‘看股票者’类之间互相耦合。前台类要增加观察者,观察者类要前台的状态。如果观察者当中还有人是想看NBA的网上直播,‘前台’类代码需...转载 2018-04-25 15:00:19 · 238 阅读 · 0 评论 -
大话设计模式九之迪米特法则
一个和尚挑水吃,两个和尚抬水吃,三个和尚没水吃。哪怕两个人,也应该有管理才好。我是小菜,电脑已坏,再不修理,软件歇菜迪米特法则(LoD)也叫最少知识原则。迪米特法则(LoD),如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。迪米特法则首先强调的前提是在类的结构设计上,每一个类都应当尽量降低成员的访问权限...转载 2018-04-24 15:05:52 · 156 阅读 · 0 评论 -
大话设计模式模式二十一之命令模式
在小区门口烤肉摊看到的情景,因为要吃烤肉的人太多,都希望能最快迟到肉串,烤肉老板一个人,所以有些混乱。这还不止,老板一个人,来的人一朵,他就未必记得住谁交没交过钱,要几串,需不需要放辣等等。大家都站在那里,没什么事,于是都盯着烤肉去了,哪一串多、哪一串少、哪一串烤得好、哪一串烤得焦清清楚楚,于是挑剔也就接踵而至。这就是在编程中常说的‘紧耦合’。由于客户和烤羊肉串老板的‘紧耦合’所以使得容易出错,容...转载 2018-05-02 13:25:08 · 194 阅读 · 0 评论 -
大话设计模式二之策略模式
策略模式商场收银软件当重复代码很多,像Convert.ToDouble(),这里就写了8遍,而且4个分支要执行的语句除了打折多少以外几乎没有什么不同,应该考虑重构。不过这还不是最主要的,如果商场的活动加大,需要有满300返100的促销算法,该怎么办?使用简单工厂模式,可以先写一个父类,再继承它实现多个打折和返利的子类,利用多态,完成这个代码。但是应该写几个子类?难道根据转载 2018-04-20 14:22:44 · 247 阅读 · 0 评论 -
大话设计模式十之外观模式
其实不会炒股票的话,买一只好股票放在那里所谓的“悟股”是最好的做股票的策略了。听说现在心理医生问病人的第一句话就是“你炒股票吗?”外观模式(Facade),为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式完美地体现了依赖倒转原则和迪米特法则的思想。外观模式在转载 2018-04-24 17:22:25 · 177 阅读 · 0 评论 -
大话设计模式二十之桥接模式
大鸟玩儿的游戏“魂斗罗”可以安装到菜鸟的手机上吗?菜鸟的手机是M品牌的,大鸟的手机是N品牌的,按道理大鸟玩儿的游戏菜鸟是不能玩儿的。手机为什么不能统一一下软件呢?在手机真正发展的十年之间,各大手机厂商都发展自己的软件部门开发手机软件,哪怕是同一品牌的手机,不同型号的也完全又可能软件不兼容。但是在计算机领域里,就完全不一样了。比如有Windows操作系统,使得所有的PC厂商不用关注软件,而软件制造商...转载 2018-05-02 11:12:27 · 617 阅读 · 0 评论 -
大话设计模式八之模板方法模式
几年之前,那时候很流行微软的MCSE和MCSD的认证考试。于是国内就出现了血多培训机构。大学生们为了能找到好工作都去参加这个培训。有个哥们,不是计算机专业的,对软件开放也算基本不懂吧,但是英文特好,于是它参加了这个培训后,短短一个多月,靠着背答案,竟然把MCSD的证书考出来了。一个几乎不会开放的人却考出了世界最大软件公司的开发技术认证,你感觉如何?(我觉得这种方式虽然不可取,但是这个人够刻苦,转载 2018-04-24 14:47:30 · 304 阅读 · 0 评论 -
大话设计模式六之工厂方法模式
简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对与客户端来说,去除了与具体产品的依赖。就像计算器,让客户端不用管改用哪个类的实例,只需要把‘+’给工厂,工厂自动就给出了相应的实例,客户端只要去做运算就可以了,不同的实例会实现不同的运算。但问题也就在这里,如你所说,如果要加一个‘求M数的N次方’的功能,我们是一定需要给运算工厂类的方法里加转载 2018-04-23 13:34:38 · 271 阅读 · 0 评论 -
大话设计模式五之代理模式
代理模式代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。代理模式用在什么场合?第一,远程代理,也就是为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。如WebService在.NET中的应用。第二种应用是虚拟代理,是根据需要创建开销很大的对象。通过它来存放实转载 2018-04-23 11:43:44 · 160 阅读 · 0 评论 -
大话设计模式四之装饰模式
穿什么有这么重要?建造者模式要求建造的过程必须是稳定的,而现在我们这个例子,建造过程是不稳定的。需要把所需的功能按正确的顺序串联起来进行控制。装饰模式(Decorator),动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更为灵活。Component是定义一个对象接口,可以给这些对象动态地添加职责。ConcreteComponent是定转载 2018-04-23 11:02:17 · 166 阅读 · 0 评论 -
大话设计模式二十二之职责链模式
菜鸟工作满三个月了,马上要办转正首先,提了加薪的事情。菜鸟对经理如实说了自己的想法,希望公司能在转正时增加工资待遇,经理肯定了菜鸟的能力,但是加薪做不了主,但是帮他向上提一提。然后去找了人力资源总监,总监说这事他也做不了主,毕竟刚毕业的大学生加薪没有先例,但总监说,等总经理来后,向总经理提一提这个事。最后,从经理那里得到的消息是,总经理不同意加薪,因为现在大学毕业生这么多,随便都能找得到,三个月就...转载 2018-05-02 14:14:07 · 487 阅读 · 0 评论 -
大话设计模式十六之备忘录模式
玩单机的PC游戏的时候,通常都是在打Boss之前,保存一个进度,然后如果通关失败了,可以再返回刚才那个进度来恢复原来的状态,从头来过。这其中的原理就是把当前的游戏状态的各种参数存储,以便恢复时读取。通常这种保存都是存在磁盘上了,以便日后读取。但对于一些更为常规的应用,比如下棋时需要悔棋、编写文档时需要撤销、查看网页时需要后退,这些相对频繁而简单的恢复并不需要存在磁盘中,只要将保存在内存中的状态恢复...转载 2018-04-28 10:27:08 · 254 阅读 · 0 评论 -
大话设计模式七之原型模式
简历复印原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节.NET再System命名空间中提供了ICloneable接口,其中就是唯一的一个方法Clone(),这样只需要实现这个接口就可以完成原型模式了。clone对性能是又大的提高的。每NEW一次,都需要执行一次构造函数,...转载 2018-04-23 14:33:19 · 239 阅读 · 0 评论 -
大话设计模式十四之状态模式
上午状态号,中午想睡觉,下午渐回复,加班苦煎熬。其实是一种状态的变化,不同的时间,会有不同的状态。MartinFowler曾在《重构》中写过一个很重要的代码坏味道,叫做“Long Method”,方法如果过长其实极有可能是坏味道了。‘Work(工作)’类的‘WriteProgram(写程序)’方法很长,而且又很多的判断分支,这也就意味着它的责任过大了。无论是任何状态,都需要通过它来改变,这实际上是...转载 2018-04-27 15:22:34 · 181 阅读 · 0 评论 -
大话设计模式十五之适配器模式
姚明说在CBA和NBA最大的区别是,在NBA需要翻译,在CBA不需要。在NBA之前专门为他配备了翻译,那个翻译一直在姚明身边,特别是比赛场上,教练、队员与他的对话全部都通过翻译来沟通。一、适配器模式适配器模式(Adapter),将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能以前工作的那些类可以一起工作。适配器模式注意解决什么问题呢?简单地说,就是需要的东...转载 2018-04-27 16:54:04 · 294 阅读 · 0 评论 -
大话设计模式十三之抽象工厂模式
菜鸟程序员碰到问题,只会用时间来摆平工厂方法模式是定义一个用于创建对象的接口,让子类决定实例化哪一个类。一、基本的数据访问程序用户类SqlserverUser类---用于操作User表,假设只有“新增用户”和“得到用户”方法,其余方法以及具体的SQL语句省略客户端代码这里之所以不能换数据库,原因就在于SqlserverUser su = new SqlserverUser()使得su这个对象被框死...转载 2018-04-27 09:52:47 · 551 阅读 · 0 评论 -
大话设计模式二十四之享元模式
最近又朋友给小菜介绍了一些小型外包项目,是给一些私营业主做网站。刚开始是为一个客户做一个产品展示的网站,花了一个多星期的时间做好了,也帮客户租用了虚拟空间。然后,他另外的朋友也希望能做这样的网站,然后小菜就又租用了一个空间,把之前的代码复制一份上传了。这好像有点问题。再后来,他们的朋友都希望小菜提供这样的网站,但要求不太一样,有人希望是新闻发布形式的,有人希望是博客形式的,也又还是原来的产品图片加...转载 2018-05-04 15:39:33 · 456 阅读 · 0 评论 -
大话设计模式二十三之中介者模式
中介者模式又叫做调停者模式。其实就是中间人或者调停者的意思。最近伊拉克又接连发射管了多起爆炸事件,战争带给人类的真是无法弥补的伤痛。世界需要和平。如果不是伊拉克战争,可能就没这么多事情了。再比如巴以问题、伊朗核问题、朝鲜核问题以及各国间的政治外交问题,构成了极为复杂的国际形式。由于各国之间代表的利益不同,所以矛盾冲突是难免的,但如果又这样一个组织,由各国的代表组成,用来维护国际和平与安全,解决国际...转载 2018-05-04 14:23:21 · 528 阅读 · 0 评论 -
大话设计模式十一之建造者模式
依赖倒转原则,抽象不应该依赖细节,细节应该依赖于抽象。这里建造小人的‘过程’是稳定的,都需要头身手脚,而具体建造的‘细节’是不同的,有胖有瘦有高有矮。但对于用户来讲,不管这些,只想告诉你,我需要一个小胖人来游戏,于是就建造一个就行了。需要将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示的意图时,需要应用于一个设计模式,‘建造者(Builder)模式’,又叫生成器模式。建造者...转载 2018-04-25 10:07:02 · 248 阅读 · 0 评论 -
大话设计模式三之单一职责原则、开放-封闭原则、依赖倒置原则、里氏代换原则
单一职责原则单一职责原则(SRP),意思就是说,功能要单一。准确解释是,就一个类而言,应该仅有一个引起它变化的原因。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。如果你能想到多于一转载 2018-04-20 16:47:28 · 296 阅读 · 0 评论 -
大话设计模式一之简单工厂模式
我们在看到了精彩的球赛,欣赏球星高超球技的同时,却忽略了球星的成长过程。他们尽管有一定天分,但却也是从最底层通过努力一点一点慢慢显露出来的。我们需要的不仅仅是世界杯上的那定乾坤的一脚,更需要这一脚之前是如何练出那种神奇的方法。对于程序员来讲,精彩的代码是如何想出来的,要比看到精彩的代码更加令人期待。如果想成为一名更优秀的软件设计师,了解优秀软转载 2018-04-16 17:55:31 · 220 阅读 · 0 评论