我家有女初长成,养在深闺人未识

----写在SpaceBuilder开源前夜

写在前面SpaceBuilder今日开源,项目比较大,不容易上传到这里,欲下载和体验 请登录SpaceBuilder.cn

很久就想写点东西了,关于SpaceBuilder。之所以没有动笔,还是因为胆怯--害怕有两点:1.SpaceBuilder目前虽然经过了近2年的 开发和测试,但是里面还是有不少未知的bug,仓促地推出去,害怕被别人骂,同时更害怕“污染”大家的眼睛。 2.SpaceBuilder太大了,而自己语言表达能力有限,害怕不能把这个新生命“准确地”介绍给大家。今天下午,跟大连的牛兄沟通的时候,该兄说 “做了一件漂亮的衣服,压在箱子里,跟没有这件衣服有什么区别?” ,回头想了一下,此言也是,更何况 丑媳妇早晚要见公婆,产品好还是不好,一切都是用户说了算。所以也就有了这篇文章,把我们家初长成的女儿,做为“丑媳妇”介绍给大家。

当然还是先说,SpaceBuilder是什么?从名字上,大家也很好理解,“空间(Space)"+ "构建(Buider)"。具体点讲它就是 "采用Web2.0思想、asp.net2.0技术开发的社区门户产品。是一套Web2.0全面解决方案,包含:个人门户、博客、相册、网摘、文件、圈子、论坛、活动、消息中心、SNS等功能,可以根据用户需求任意组合、无缝集成。它采用了业内领先的技术体系架构、隐私保护功能、用户评价体系、优异的缓存技术、全文检索技术。可以承载千万级的数据,具备优异的扩展性并提供丰富的API,方便用户进行定制开发或者二次开发。" 。当然这个答案还是比较笼统,再深入一点跟大家一起分享一下:

在2004年的某一天 ,O'Reilly公司总裁提姆·奥莱理(Tim O'Reilly)先生在一次头脑风暴中首次提出了“Web 2.0”的概念。几年之内,web2.0风暴便席卷整个业界。这个蔓延速度,是 提姆 先生未曾料到的。国外的Flickr如此成功;国内 新浪博客 也让其他几个门户提供商煞是眼馋;还有那个BT 让我们每天原本无聊的时光开始变得精彩。。。 所有的这一切都是 提姆先生的 Web2.0 在“作怪”。那Web2.0究竟是什么呢?如果你google一下的话,恐怕也很难找到标准答案。所有描述Web2.0的答案,约莫都是如下格式: Web2.0是相对于Web1.0提出的新概念,在Web1.0时代给我们提供了***。。。,而Web2.0时代给我们提供了博客,圈子,社会网 络。。。--网络上大约就是如是说。回过头来,我们认真思考分析了一下,整个Web2.0都在关注一件事情,也可以说这个正是Web2.0概念的核心所 在,那就是 “改善用户体验,提高用户参与”。

为了改善用户体验,我们 旧瓶装新酒,搞出了一个 AJAX,当然还有很多,比如DIV+CSS取代Table布局。。。;为了提高用户参与,我们推出了blog让大家 尽情的自我表达,我们推出了 SNS(社会网络)模拟现实世界中的人际关系。。。   而提供这众多的功能的统一解决方案,目前市面上的产品还不是很多,.Net下的产品更是寥若晨星,而这正是 SpaceBuilder推出的一个原因-- 以后你再构建Web2.0的社区,直接使用SpaceBuilder就可以了,所有的功能包括博客啦,圈子啦等等里面全都有了,吼吼~~

SpaceBuilder里面具体的功能,包括 SNS,论坛,圈子,博客等,以后跟大家慢慢分享。其实做为开发人员,我们最关心的还是它使用的技术。SpaceBuilder是.Net下一个非常纯粹 的项目,里面所以的功能都是基于MS的FrameWork2.0开发。里面使用到的比较有特色的技术不少,不过没有认真总结过,在这里随便给大家列几个:

1. 纯用户控件开发 整个Web项目里面几乎没有一行cs文件,里面全是布局文件,和皮肤文件。这样就便于用户根据自己的需要 动态加载不同的布局和皮肤。也就是说Web项目里面的文件是被 其他项目里面的文件调用的,这个特色跟我们平时的开发好像有点 反常。把页面根据功能划分成不同的控件(皮肤),这样也便于相似的功能在多个页面里面使用。

2.每请求缓存 原来我们在不采用用户控件 开发的时候,如果页面上有两个地方需要展示数据,我们访问一次数据库,就可以同时向他们俩绑定数据。 而采用控件开发后,由于每个控件都有自己的逻辑,那么这样就需要两次访问数据库,性能就降低了,这个也是很多人采用用户控件开发时都面临的问题。那 SpaceBuilder怎么处理呢? --全局缓存和每请求缓存。全局缓存也是一个非常重要的特色以后,在跟大家分享,今天先说一个 每请求缓存。如果有页面中两或者多个用户控件都要绑定来自同样数据源的数据时,让第一个控件获取到数据后,放入当前请求的上下文中,第二第三个控件再绑定 数据的时候,就不用再去访问数据库了,而直接从请求上下文中获取,这样在性能就跟通常的页面整体数据绑定相差无几了。

3.Provider  也就是我们通常说的  提供者。我们知道MS的FrameWork在很多个地方为了扩展的方便都采用了提供者模式,比如 成员管理 Provider,角色Provider,Profile Provider等等。SpaceBuilder也采用了提供者模式,不过SpaceBuilder做的更彻底: SpaceBuilder里面的每个功能都有自己的Provider,比如你的博客可以采用Sql作为你的数据提供者,同时在同一个系统里面你的 相册  可以采用  Oracle作为你的提供者,SNS可以采用XML作为数据提供者。。。  所以的这些功能模块他们在一起是可以无缝结合地进行工作了,无论他们的提供者是否来源于同一个地方。

其他还有很多,一时想不起来,先写这么多吧,以后跟大家一起分享里面功能或者技术的具体实现。

最后,来句广告语 “SpaceBuilder,构建您的空间...”

后记    SpaceBuilder真个系统体系,大约可以分成3个层次:整站,圈子,和个人门户。目前,个人门户已经开发了3套皮肤可以使用,站点和圈子的皮肤都在开发之中。
    关于产品的意见或者建议,以及bug希望大家不吝指出,谢谢。

转载于:https://www.cnblogs.com/xieran/archive/2007/11/18/963556.html

我家有女初长成,养在深闺人未识----写在SpaceBuilder开源前夜相关推荐

  1. 吾家有女初长成,愿你健康快乐成长!

    图片来源Sasa小姐,在此表示感谢 这两天有点浮躁,总是静不下心来,感觉自己太过于急于求成,才会表现如此急躁. 假期从图书馆借来的书也还没看. 换作以前,书一到手,第一时间翻看,然后写些心得. 总想在 ...

  2. 【随笔】深度学习之美——杨家有女初长成,养在深闺人未识

    1.从机器学习到深度学习 一般来说,知识在两个维度上可以分为四类,如下图. 在横向上,对于可推理的,可以用机器学习的方法完成推理,通过人类的先验知识,把原始数据预处理成各种特征,然后对特征进行分类.然 ...

  3. 鸿蒙未识绮罗香,《贫女·蓬门未识绮罗香》阅读答案与解析-秦韬玉

    贫女 秦韬玉 蓬门未识绮罗香,拟托良媒益自伤. 谁爱风流高格调,共怜时世俭梳妆①. 敢将十指夸针巧,不把双眉斗画长. 苦恨年年压金线,为他人作嫁衣裳. [注]①时世俭梳妆:当时妇女的一种妆扮. 14. ...

  4. 漫谈RocksDB(一)简介——家有美女初长成,一朝成名天下知

    漫谈RocksDB(一)简介--家有美女初长成,一朝成名天下知 - 墨天轮前言 经过一段时间的锻炼和适应,笔者已经慢慢适应了公众号发文的节奏,经过前段时间的知识整理以及阅读反馈,笔者感觉在未来一段时间 ...

  5. 飞桨初体验和AI识虫

    飞桨初体验和AI识虫 文章目录 飞桨初体验和AI识虫 前言 一.怎么获取飞桨? 二.飞桨能做什么? 三. 飞桨的典型应用? 四. 怎么理解飞桨的运营模式? 五.AI识虫项目 总结 前言 AI已经成为信 ...

  6. 我家车模初长成 - K车模养成要点

    简 介: 本文给出了K型车模装配中需要主要的几点要求,并通过视频展示了后轮安装以及调试的过程. 关键词: K型车模,电单车,电车拉力赛,智能车竞赛 §01 电单车简介 1.电单车任务   在 第十六届 ...

  7. Deepin系统初长成

    2022年,Deepin20.6惊艳到我了.从蓝点linux到SLAX,然后magiclinux,然后红旗桌面版,然后乌班图,这么多年下来,真正能够让我这从事IT行业的人用着顺手的Linux桌面版,终 ...

  8. 国外大数据初创公司巨额融资 国内公司初长成

    [IT商业新闻网讯](记者 张良)大数据可能是现在VC界最关注的热词了.似乎和大数据沾不上边的互联网公司.甚至是传统产业公司,都没什么前途.近期国外一些创业型的大数据公司很是被VC们看好,招来巨额风投 ...

  9. VUE初长成【部分小记】

    实例(具体的对象) Object.freeze(),会阻止修改现有的属性,意味着响应系统无法再追踪变化. 生命周期钩子的 this 上下文指向调用它的 Vue 实例.(Vue.data) v-html ...

最新文章

  1. golang log4go 使用说明及丢失日志原因
  2. 用canvas实现一个vue弹幕组件
  3. python调用lib_基于python调用libvirt API
  4. 判断访问接口的设备是安卓还是ios
  5. 关于MYSQL 的 AUTO-INC Locks
  6. oracle dba_waiters中的lockid是什么,查杀oracle lock session and table
  7. ITFriend创业败局(五):创业可以停止,公司必须注销,不然后果很严重
  8. Matlab关键规则挖掘尿片啤酒,电商数据挖掘之关联算法(一):“啤酒+尿布”的关联规则是怎么来的...
  9. 《编码的奥秘》目录摘要及读书笔记
  10. 开源的SNMP网管系统LibreNMS
  11. express to eSATA卡测试
  12. AIX 7.1查看硬件配置信息 查看端口IBM POWER 750 P750
  13. 原生JS封装拖动验证滑块方法
  14. matlab max函数 最大值好几个,matlab中的最大值和最小值
  15. 谈中国分布式数据库商业之路:OSM与DB-Inside
  16. BZOJ-USACO被虐记
  17. 大数据的周边技术-这个解释很通俗
  18. 网游服务器维护费巨大,全网首例!玩家氪金金额巨大导致服务器瘫痪,官方单独安排客服!...
  19. 饥荒服务器显示队友mod,饥荒怎么显示物品给队友看 | 手游网游页游攻略大全
  20. 《人月神话》-人月神话

热门文章

  1. 如何在Mac上删除iPhone和iPad iCloud备份?
  2. 光谱响应函数线性内插
  3. Layui 弹出层插件
  4. FlexE( Flex Ethernet灵活以太网)
  5. 正态分布 概率密度函数PDF
  6. vue生成二维码带图标
  7. LTDC-DMA2D液晶显示 代码详解(二)
  8. 03数据库关系代数习题
  9. CAS-搭建CAS Server服务端(静态认证)
  10. SNS游戏中的数据特征随笔