应用程序框架实战六:应用程序框架的特点

  之前说过,.Net Framework为所有.Net程序员提供底层支持,第三方开源框架建立在.Net Framework的基础上,专门解决某些特定问题,而应用程序框架则建立在.Net Framework和第三方框架的基础上,为项目开发的方方面面保驾护航。它们的作用虽然都是帮助程序员更好的建立应用程序,但抽象层次不同,从比较原始到更加具体,导致了应用程序框架有一些自己的特点。

第一,没有真正通用的应用程序框架。

  由于应用程序类型千差万别,没有哪个应用程序框架能够覆盖所有应用程序的细枝末节,所以真正通用的应用程序框架是不存在的。

  有一些应用程序框架确实比较通用,各种项目都能用,但也只是覆盖了应用程序框架的一部分特性而已,可以将这样的框架作为基础,再根据应用程序特点进行扩展。

第二,应用程序框架并非越强大越好。

  强大的东西未必就好,强大意味着复杂,学习成本高,如果一个框架要学上一年才能用,那又有谁愿意用?应用程序框架就好像衣服,不是越大越好,太大可能穿着像个唱戏的,合身才是硬道理。所以,应用程序框架要保持尽量简单,在必要的时候还要给框架减肥瘦身。

第三,最好用的应用程序框架来自你自己。

  这一点尤其重要。

  当下载到别人的应用程序框架时,很少有人直接用到自己的项目上,哪怕这个框架十分强大。除了不合你的口味以外,主要是不太熟悉,对于无法驾驭的框架,你自然无法发挥它的威力,更不要谈扩展。

  每个人的编码风格、习惯、经验、水平、领域都不相同,能够让你满意的应用程序框架只能出自自己之手。

  没有所谓最好的应用程序框架,对你来说,最好的框架就是符合你的习惯,你最熟悉,能够随时扩展,恰好满足你开发的东西。

第四,应用程序框架技术含量不高,平平无奇。

  应用程序框架,并不是很多初学者想像的那么复杂。只要用心学习、观察、整理,都是可以建立自己的应用程序框架的。说白了,就是一些辅助性的代码封装而已。

  .Net在市场上以中小型信息系统为主,一般项目的技术含金量都不会太高。

  应用程序框架需要建立在第三方技术框架之上,所有较底层的操作全部向下委托,除非不得已,一般不要自己写底层的东西,主要是健壮性和扩展性差,另外浪费时间。当然拿来练练手可以,实际使用还是用开源的。

  不过,不要认为技术含量不高,就不用学习了,.Net基础、Js基础、常用设计模式、常用架构模式、TDD、第三方框架都需要了解,不然你拿什么来抽象和封装。不仅要学,而且还需要持续学习。

第五,应用程序框架依靠不断积累逐步增强。

  应用程序框架的出发点是代码复用,当你在看书、读博客、四处搜集源码、以及项目开发的过程中,都是应用程序框架增强的大好时机,慢慢你的框架会变得有用。

第六,应用程序框架永无止境。

  应用程序框架是开发模式的持续提炼和重构。随着你经验的增长,你会发现代码逐步变得条理清晰,而不是原来那样杂乱无章。但你是否就此止步了呢?仔细观察每一个开发细节,问自己,“这个if判断能省略掉吗”等等。每一次的小改进可能作用并不显著,但长期保持则受益无穷。

时间: 2024-08-13 20:04:09

应用程序框架实战六:应用程序框架的特点的相关文章

应用程序框架实战八:应用程序框架的层次规划

分层架构根据相关职责将应用程序模块切割为多个层次,那么应用程序框架本身还要不要进行层次划分?随着对应用程序框架的理解加深,以及项目复杂度的提升,为应用程序框架分层就显得很有必要,它将影响你如何创建VS解决方案. 在刚开始建立应用程序框架时,你首先会想到的是把技术方面的东西抽取出来,放到专门的文件夹,但你很快发现建立一个独立的.Net类库更加方便.你平时会把需要用到的东西封装成Helper扔进去,有时候也会引用一些第三方的程序集.随着日积月累,这个类库逐步变得丰富,同时杂草也在滋长,很显然这时候你

应用程序框架实战五:应用程序框架的组成

应用程序框架是用来支持应用程序开发的,它就好像一个保姆,在开发的每一个细节对程序员呵护倍至.那么,应用程序框架应该包含哪些内容呢?原则上来说,只要期望能够复用的所有东西,都可以进入你的框架. 开发新手与经验丰富的老手,其中一个重要的区别在于复用代码的方式不同.开发新手喜欢复制粘贴,而老手则更倾向于抽象和封装.曾经听人说,复制代码是魔鬼,为什么这么严重? 当你把那几句代码四处复制粘贴,然后突然意识到需要修改一下,这时候悲剧就发生了,你需要找到所有的代码,然后挨个地方的改,这是一个体力活,如果粘贴的

应用程序框架实战九:应用程序框架的局限

使用应用程序框架来开发项目,从软件项目的角度来看,可以获得更快的开发进度,更好的代码质量.复用性.扩展性.可维护性等好处.但如果换个角度思考,也会发现其它一些问题. 首先,软件开发是以人为本的,应用程序框架是某个人或某几个人大脑中知识结构的具体表现,所以应用程序框架高度依赖它的创建人,框架越强大,依赖性越高.因为其它人对这个框架内部结构不了解,扩展框架非常吃力.站在公司或老板的角度,使用应用程序框架是有一定风险的,如果框架负责人跳槽了,其它人对这个框架内部又不是很了解,甚至连源码都没有,那就很严

「小程序JAVA实战」 小程序手写属于自己的第一个demo(六)

转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-06/ 自己尝试的写一个小demo,用到自定义样式,自定义底部导航,页面之间的跳转等小功能.官方文档对于小程序开发来说要时刻打开https://developers.weixin.qq.com/miniprogram/dev/framework/config.html源码:https://github.com/limingios/wxProgram.git 中的No.1 创建小程序 项目名称创建

「小程序JAVA实战」 小程序默认加载的页面和生命周期(八)

转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-08/ 小程序如何加载的呢?生命周期!源码:https://github.com/limingios/wxProgram.git 中的No.3 加载页面 小程序默认加载的pages中的第一个目录 不管你的名称,只管你的顺序 其他目录需要通过触发才能加载 生命周期 相关的框架的时候都有生命周期的概念,通过了解生命周期更好的把控框架的使用! onLaunch 第一次打开小程序的初始化,也被调用一次.

「小程序JAVA实战」小程序开源搜索组件(53)

转自:https://idig8.com/2018/09/22/xiaochengxujavashizhanxiaochengxukaiyuansousuozujian52/ 上次说了可以在视频中通过cover-view的方式放置一些图片,图片已经放置完毕,现在开始实现里面的功能,先从放大镜搜索功能开始.用户点击放大镜进入搜索页面.https://github.com/limingios/wxProgram.git 中No.15 介绍开源框架 这是一款搜索插件,该搜索框组件基于开源项目wxSea

「小程序JAVA实战」小程序注册界面的开发(29)

转自:https://idig8.com/2018/08/27/xiaochengxujavashizhanxiaochengxuzhucejiemiandekaifa29/ 小程序基本所有的常用组件已经了解的差不多了,基本可以实战了,本次就开始小程序的真正实战,完成小程序的一个注册页面的设计.源码:https://github.com/limingios/wxProgram.git 中的No.15 开发最重要的就是实操! 开发人员很少人懂美工 我就懂css 其实也设计不出来什么好看的,在网上找

「小程序JAVA实战」 小程序wxss样式文件的使用(七)

转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-07/ 细说下微信小程序的wxss样式文件.源码:https://github.com/limingios/wxProgram.git 中的No.2 样式rpx 原来在html里面都是使用px和pt,微信这边自定义的rpx的方式.文档:https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxss.html /* pages

「小程序JAVA实战」小程序页面引用外部wxml通用页面(21)

转自:https://idig8.com/2018/08/09/xiaochengxu-chuji-21/ 现在都是讲究开发的效率,原来单纯的android 和 ios 已经不在吃香了,都是混合开发,混合开发很多页面的结构基本都是上中下,head,body,foot,所以小程序也要这么的满足如图例.源码:https://github.com/limingios/wxProgram.git 中的No.8 小程序的引入外部的页面 include 可以将目标文件除了 template ,wxs 外的整