写代码

写自己的ASP.NET MVC框架(下)

跟風遠走 提交于 2020-02-03 04:21:02
上篇博客 【写自己的ASP.NET MVC框架(上)】 我给大家介绍我的MVC框架对于Ajax的支持与实现原理。今天的博客将介绍我的MVC框架对UI部分的支持。 注意: 由于这篇博客是基于前篇博客的,因此有些已说过的内容将会直接跳过,也不会给出提示。 所以,如果要想理解这篇博客,那么阅读上篇博客 【写自己的ASP.NET MVC框架(上)】 则是必要的。 回到顶部 MyMVC的特点 在开发MyMVC的过程中,我吸取了一些ASP.NET WebForm的使用经验,也参考了ASP.NET MVC,也接受了Martin Fowler对于MVC思想的总结。 在设计过程中,我只实现了一些必要的功能,而且没有引入其它的类库与组件,因此,它非常简单,且容易使用。 我们可以这样理解MyMVC: 它是一个简单,容易使用,且符合MVC思想的框架。 在MyMVC框架中,View仍然采用了WebForm中的Page,毕竟Page已经使用了十年,能经得起时间的检验,它仍然是我们可信赖的技术。 另一方面,Page也是ASP.NET中默认的HTML输出技术,使用它会比较方便。 MyMVC与微软的ASP.NET MVC不同的是: 1. 不依赖于URL路由组件。 2. 不提供任何HtmlHelper 3. Controller只是一个Action的容器,没有基类的要求。 4. Action处理的请求不区分POST,

写自己的ASP.NET MVC框架(下)

耗尽温柔 提交于 2020-02-03 03:22:14
上篇博客 【写自己的ASP.NET MVC框架(上)】 我给大家介绍我的MVC框架对于Ajax的支持与实现原理。今天的博客将介绍我的MVC框架对UI部分的支持。 注意: 由于这篇博客是基于前篇博客的,因此有些已说过的内容将会直接跳过,也不会给出提示。 所以,如果要想理解这篇博客,那么阅读上篇博客 【写自己的ASP.NET MVC框架(上)】 则是必要的。 MyMVC的特点 在开发MyMVC的过程中,我吸取了一些ASP.NET WebForm的使用经验,也参考了ASP.NET MVC,也接受了Martin Fowler对于MVC思想的总结。 在设计过程中,我只实现了一些必要的功能,而且没有引入其它的类库与组件,因此,它非常简单,且容易使用。 我们可以这样理解MyMVC: 它是一个简单,容易使用,且符合MVC思想的框架。 在MyMVC框架中,View仍然采用了WebForm中的Page,毕竟Page已经使用了十年,能经得起时间的检验,它仍然是我们可信赖的技术。 另一方面,Page也是ASP.NET中默认的HTML输出技术,使用它会比较方便。 MyMVC与微软的ASP.NET MVC不同的是: 1. 不依赖于URL路由组件。 2. 不提供任何HtmlHelper 3. Controller只是一个Action的容器,没有基类的要求。 4. Action处理的请求不区分POST, GET

再也不想写表单了

送分小仙女□ 提交于 2020-02-02 10:54:41
一 产品:小哥哥在么?我想临时加个小小小小的需求~~ 小明:不在。 产品:很简单的哈,就在原来的页面上加个小功能…… 产品:帮帮忙,求你了哥哥,我请你吃星爸爸~ 小明:先说吧。。要是改动大的话,请海底捞都没用。。 产品:不会的!就是在我们的活动后台页面上,想加个活动预告的功能,大概这个样子…… 产品:是不是很简单哈~ 小明:哦。还行吧 于是小明打开了项目,找到了相应的页面,Oh shit! 以前的代码谁写的,写完就跑路了么!还好现在加的“活动预告”功能跟其他部分不相干,可以单独抽离出去。小明感觉机智如我,很快就写好了,简直是空手薅羊毛。 小明:加好了(来杯抹茶拿铁) 二 产品:小哥哥在么?昨天加的小需求后来业务说需要有个“立即生效”的按钮。。。 产品:实在对对对对对不起 >_< 我在原来的图上稍微加了点,求哥哥帮忙改一下下 产品:是这样的,“立即生效”选“是”时,选日期的就不要了,选“否”时才有“生效日期” …… 产品:哥 你看到了吗? 小明:你说完了吗?全都说完我再一起改 产品:说完了!谢谢 O(∩_∩)O 由于小明先见之明,一开始就把“活动预告”部分抽离出去了,所以根本不用 care 其他代码,也很快就改好了。 三 产品:小哥哥……我已经跪下了 产品:又跟业务聊了,他们自己一开始都没理清,现在捋清楚了 产品:1. 类型为”拉新“与”冲单“时,活动还支持按条件的生效方式,条件支持

YYModel 源码解读 总结

旧时模样 提交于 2020-02-02 06:01:10
在使用swfit写代码的过程中,使用了下oc写的字典转模型,发现有些属性转不成功,就萌生了阅读源码的想法。 其实一直都知道Runtime机制,但并没有系统的学习,可能是因为平时的使用比较少,无意间在github上看到了YYModel ,粗略的看了下源码,发现有大量的c方面的知识,就产生了很大的兴趣,因为c总是性能的代名词吗?于是就有了这几篇文章,其实主要的目的还是对平时所学知识的一个总结。 毕竟,人类的记忆总是容易忘记的。 不知道作者在写这个框架时的思想是怎么样一个过程?但字里行间都流露出对代码的强大的驾驭能力,这点特别值得学习。 阅读完这个框架给我最大的收获就是领悟到代码也是能表达很多事情的,比如说自信,因此决定去阅读更多更好的开源矿建,并记录下来,一来可以帮助到别人,同时也能学习到别人的思想。 好了,说一下,我理解的这样一个字典转模型的思想是什么样? 一 . 在写代码前应该有一个很好的设计,这个设计最起码是有张草图的,并不是天马星空的头脑风暴。 功能草图: 二. 有了上边的图表,就已经很明确我们的目标是什么了。因为市场上已经有这样的框架存在,所以说技术上是肯定能够实现的,可以不同的是实现手段而已。在这里先不对具体的技术进行归类,只是列出一个大概的技术需求 来源: https://www.cnblogs.com/machao/p/5651038.html

##总结 JavaScript yq(1)

别来无恙 提交于 2020-01-31 12:40:52
JavaScript以前主要作为验证功能,它最主要的两个运用无外乎是 “定时器”和“轮播图”。 学习JavaScript的核心思想是: 1.获取元素的id 然后执行代码元素。 var odiv=document.getelementbyid(“div”); 2.通过你的想法去改变 HTML和CSS所有属性。 odiv.style.background=“red”; 关于script标签应该放在哪里? 可放在行间 但这样维护起来很麻烦。 < input type = "button" value = "按钮" onclick = "onload()" / > 2.可放在head body 标签之间。 如果你引入了外部的js文件。那么该script的你自己写代码将自动忽视。 < script type = "text/javascript" src = "javascript.js" > < / script > < script type = "text/javascript" > var obj = new object ( ) ; //定义一个构造函数 < / script > 数据的类型有哪几种? String 字符型 Number 数字型 Boolean 波尔值 NULL 空值 undefined 没定义型 object 对象 来源: CSDN 作者: 人间值得呀 链接:

Java设计模式-单例模式的7种写法详解(上)

余生颓废 提交于 2020-01-30 10:11:31
Java设计模式-单例模式的7种写法详解(上) 参照B站尚硅谷官方视频资源:https://www.bilibili.com/video/av57936239?p=33 文章目录 Java设计模式-单例模式的7种写法详解(上) 0.前言 1.饿汉式(静态常量)实现单例模式 1.1 实现步骤 1.2 具体编码 1.3 测试验证 1.4 阶段小结 2.饿汉式(静态代码块)实现单例模式 2.1 实现步骤 2.2 具体编码 2.3 测试验证 2.4 阶段小结 3.懒汉式(线程不安全)实现单例模式 3.1实现步骤 3.2具体编码 3.3测试验证 3.4阶段小结 4.懒汉式(线程安全,同步方法)实现单例模式 4.1实现步骤 4.2具体编码 4.3测试验证 4.4阶段小结 5.一种错误的写法:懒汉式(同步代码块) 5.1实现步骤 5.2具体编码 5.3测试验证 5.4阶段小结 0.前言 单例模式: 确保此类只有一个实例,并提供获取实例的方法。 作用: 可以保持在一个应用程序生命周期内,所引用对象的实例均为同一个 使用场景:例如工具类,使用了单例模式后,可避免重复创建实例造成的资源浪费。 单例模式分为以下7种: 饿汉式(静态常量) 饿汉式(静态代码块) 懒汉式(线程不安全) 懒汉式(线程安全,同步方法) 双重检查 静态内部类 枚举 也可说是5种,只是懒汉饿汉各自又有2种不同的实现方式。

数字图像处理工具箱问题记录

最后都变了- 提交于 2020-01-30 03:50:22
最近新增几个功能的时候意识到了一个很大的问题,就是功能与功能之间耦合性太大,牵一发而动全身,修改起来很麻烦,而且非常不方便。 之前都是工厂模式,按步骤写代码,流水线一样,导致代码可维护性比较差,这个时候面向对象编程的好处就体现出来了,把每个步骤都隔离开来,修改的时候只需要更改那一部分,不会像我现在这样牵一发而动全身。 下一步准备修改代码布局,把整个程序的写法换了。不过又是个大工程,先把网易的作业做完再搞这个优化了,实在不行现在这个版本也可以用。 来源: CSDN 作者: Markfound 链接: https://blog.csdn.net/weixin_37622537/article/details/104105860

Leader:这样的 Bug 你也写的出来???

做~自己de王妃 提交于 2020-01-28 15:42:16
Hello~各位读者新年好!不知道大家春节假期是否已延长,小黑哥刚接到通知,假期延长到 2 月 2 号,另外回去之后需要在家办公,自行隔离两周。还没试过在家办公,小黑哥就怕到时候生物钟还没调整过来,一觉睡醒已经是下午了。。。 前言 春节假期,还躺在床上小黑哥,收到对账系统的一条预警短信,提示当前系统资金核对存在问题。关于资金的问题,都是大问题,小黑哥连忙拔出电脑,连上 VPN,登录生产环境的查看相关日志。 通过日志,很快小黑哥定位到相关代码。 有的同学可能一下子就能看出这里的问题, Long 对象采用 != 进行比较,这真是一个低级 Bug 。幸好 Leader 还不知道,赶紧悄悄修复一下。 现在回想小黑哥当初写这段代码的时候,误以为两个 Long 对象比较将会进行自动拆箱,转变为两个基本数值类型比较。 下面开始复习一下 Java 自动装箱与拆箱机制。 自动装箱与拆箱机制 自动装箱(Autoboxing),是 JDK5 新增的一种语法糖,将会在代码编译时自动将原始类型转换为其对应的对象包装器类。例如将 int 转换为 Integer , double 转换为 Double 。如果转换结果相反,我们就将其称为拆箱。 下面是一个自动装箱的例子: 上面代码 li.add(i) 就发生自动装箱,将基本数据类型 long 转换为其包装类 Long 。 查看这段代码对应的字节码。

思考-少写代码

被刻印的时光 ゝ 提交于 2020-01-27 04:32:08
聪明的程序员使用50%-70%的时间用来思考,尝试和权衡各种设计和实现,而用30% – 50%的时间是在忙碌着编码,调试和测试。聪明的老板也会让团队这样做。而傻逼的老板,苦逼的程序员会拿出来 在现在这个浮躁的时期,再加上敏捷咨询师们念的歪经,他们让人感觉上就像是软件产品是可以在很短的时间内高质量的完成的,这令那些管理者们很兴奋,就像巴甫洛夫的条件反射实验中的狗看到了肉就会流口水那样兴奋。他们使用TDD,快速迭代,不断重构,持续集成直至持续部署的方法在进行软件开发。 软件开发真是这样的吗?难道不需要花时间去思考吗?对此,有些观点在Todd的《 “品质在于构建过程”吗? 》以及《 Bob大叔和Jim Coplien对TDD的论战 》中谈到过了。我只想想表达下面的观点: 1. 软件的精髓在于设计,设计是一件很费大脑的事件 。对于软件来说,设计没有完美的,它总是一件需要取舍需要权衡的事,比如:时间换空间,空间换时间,TCP或UDP,同步还是异步,数据冗余还不冗余等等。那怕是一个小小的observers模式是pull方式还是push方式 都需要仔细讨论。这些的东西需要时间和做前期尝试。 2. TDD、快速原型和迭代可能会对软件和团队产生负面影响 。在一开始,你需要花很大的精力来让你的软件从无到有(做过软件的人都知道,从零开始写代码是很痛苦的事),但是因为你没有想好,先做再说,所以

程序员的插画成长之路并不平坦

老子叫甜甜 提交于 2020-01-24 05:39:39
程序员半夜生活的正确姿势 写代码写累了怎么办 很多时候写代码写太久会感觉脑袋乱糟糟的,思路理不清楚,但是作者没有选择用LOL或是吃鸡(落地成盒)的方式来放松自己,而是采用了临摹的方式。 练习作画的好处 1.锻炼美感,训练左脑 2.训练手指 3.第二技能投资 4.写代码和作画同为创造艺术品 5.加强记忆力 6.追求完美,专注细节 时间投入 每天至少两个小时 近期回报 无 远期回报 1.第二技能 2.记忆力不易衰退 3.对美的追求 4.拼搏上进的心态 5.新的机会 来源: CSDN 作者: xiaotianzhishu 链接: https://blog.csdn.net/xiaotianzhishu/article/details/103848041