ASP.NET进阶——初学者的提高(长期)
ASP.NET进阶——初学者的提高
说明
.net的产生是微软对于市场竞争的最佳反应,在日益激烈的竞争环境之下,应用从传统的功能向系统级平台级方向发展,程序员所使用的编程工具也具备了更多的高层特性,高效的内存管理,业务的易用性,代码的安全性等等,不一而足。种种迹象表明,语言作为一种工具正向更加多元化的方向发展。在围绕如何提高生产力的前提之下,各种语言和编程方式孕育而生;在当今,技术的发展和沉淀足以让我们放下一些沉重的包袱,专心于更多的创造(笔者认为创造是以创新之力改造现实)。倘若还在为指针这个神奇的东西喋喋不休或是争论不止是多么的可笑,为自己的成果做些可笑的展示,何不静下心来细心拜读前人所积累下来的方法和方式,相信那些方法定是充满着智慧的光彩,需要我们去了解使用甚至改造。
“站在巨人肩上”。根据不同的人不同的时期,总在表现不同的态度和方式。质疑,没有人会在不了解一个事物时真正地贸然接受,即便是真理,我们还是会揣测会忐忑不安。很多人会有这样的感觉,明明知道眼前的事物比手上的强大,但就是不敢轻易取下来。这种态度是谨慎的,也是笔者认为恰当的,对于那些不具备这种态度的人,笔者认为你要么智慧无比要么就是盲目无知。我们总在怀疑同时在了解在认同。今天,这个快速发展的时代,需要了解过去,肯定,并在更高的高度解决问题。
某些人在怀疑微软,那些人很多是称之为“linuxer”的之流,但我们看到的更多的是他们使用linux做的第一件是就是如何使用微软带来的东西,他们和linux有关的生活中更多的穿插着windows,他们究竟在怀疑什么。
桌面计算技术和GUI曾让我们自豪,即使有了Web、B/S,它依旧让我们自豪。微软如此,unix如此,其它亦是如此……
我们从不怀疑过去是什么,正如我们在将来不怀疑现在是什么,无论现在的世界是伤痕累累还是光彩鲜亮!
Web应用的开发总是充满变数,技巧丰富,结构复杂。网页的呈现是一边再变,随之而来的便是代码一改再改,到最后除了勉强维持大体的体系结构,代码的组织呈现出一种支离破碎状,不堪入目。
我们希望一个功能完整的应用中代码能够在下一次的应用开发中再次使用,但事实上实现上确实充满着大量重复而没有价值的手工劳动。或许有时候会喜欢这种不需要思考,仅仅通过拷贝复制增删改来解决某些问题,但这种劳动周而复始的时候,你还会喜欢吗?
于是我们开始考虑是不是有一种简单有效的方式能够解决中小规模系统开发中的某些问题;诸如和重复劳动挂钩的部分能够减少。当然,本文所讨论的某些内容可能涉及部分大规模系统开发中的某些环节;但作为知识的积累与使用,中小规模中优秀的成分适用于大规模,反之也可以。
我们从基础的工作做起,也是希望所有成果能够在下一次较大的问题上得以使用。于是,有了创作本书的目的。
本书不是去实现一种编程框架,而是通过阅读本书,学习和使用一些优秀的编程规则和方式;而这些规则和方式也会在今后学习复杂的系统框架中再次受益。
分层
这是很多应用最迫切去实施的过程,通过对原本堆积的代码根据某种原则进行切块,我们会更容易发现优秀的代码作为一种软件资产多次使用。其中的原则很多,笔者认为“职责划分”是对应用进行分层极其有效的方式。
分层是对功能的划分,是服务的体现。存在层次化带来的性能损失,但针对各层次的有效分工合作以及机构优化,所带来的开发效率和质量的提高,足以弥补这些不足;甚至在多数情况下,由于应用的层次的分离,能够更加清晰地发现性能瓶颈,从而采取的优化措施在某种程度上比没有分层有更优执行能力。如借助大内存实现的各个层次的缓存策略就是一个明显的例子。
待归类
实践表明,能够在规定时间和预算内开发可靠的系统对于很多组织来说是非常困难的。
软件发展走平台化方式,再弱的应用也积极纳入平台体系。积极多元化和无缝第三方的开发模式。
应用标准化工作要求一致性,对于不用应用体系能够实现一致。