1.Magicodes.NET框架之路——起航

1.Magicodes.NET框架之路——起航

  1. 前言

从事开发也好几年了,并且最近一直在做架构搭建的工作。这些时间,最大的感悟就是:

  • 只有自己理解了的才是自己的。
  • 对架构这块,若欲立之,必先破之。

故此,才准备利用业余时间来倾力打造这套框架。由于时间精力以及能力有限,也许这套框架初期会有很多不合理之处,但是我相信只要有恒心,这套框架迟早会打磨完美。由于本人秉承做一行爱一行的原则,对代码也比较痴迷,故此命名为"Magicodes框架"。

Magicodes ——意为"Magic Codes"。代码就如同魔术,每一个代码爱好者都可能是一位大魔术师。只要你热衷于此,请跟随我们的脚步一起前行吧。

在最近的一段时间里,我们也组成了Magicodes团队,Magicodes团队是一个崇尚开源的团队,我们决定接下来长期维护此框架并且免费开源。

  1. MagicCode框架优势

MagicCode框架是一套插件框架,目前为WebForm版本,在WebForm版本稳定后,我将继续打造Mvc版本。从整套架构体系的设计方面来说,除了后端框架的插件式设计外,前端框架的模块化设计也是本框架的一部分。

好了,废话不说了,下面就简单列下本框架所涉猎到的一些技术或者概念:

后端

插件式架构(MagicCode架构)


插件式架构就在于提供一个开放的体系结构,以方便中间件的选择、组装和集成,应用框架的重用已成为软件开发生产中最有效的重用方式之一。

基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现。扩展功能与框架以一种很松的方式耦合,两者在保持接口不变的情况下,可以独立变化和发布。公开插件接口,让第三方有机会扩展应用程序的功能,有财大家一起发。另外,还可以让开源与闭源共存于一套软件,你的插件是开源还是闭源,完全由你自己决定。

插件框架(MagicCode.Core)

插件框架用于组织和管理系统插件的下载、装载、组合、实例化以及销毁,并提供整套完整的与后台服务通信的操作接口等功能。

插件接口(MagicCode.Web.Interfaces)


系统的所有插件全部通过实现系统框架统一的接口规范,以便有效的组织、管理插件对象。

插件策略属于插件接口的一部分,插件策略用于实现一些比较通用的功能,以便于各个插件调用,目前MagicCode框架提供了以下策略:

  • Cache——缓存策略
  • Email——邮件策略
  • Logger——日志策略
  • ScriptMin——脚本资源压缩策略
  • Sesstion——会话策略
  • SMS——短信策略
  • UserAuthentication——用户验证策略
插件组件(Plus)

插件组件为具体的插件程序,是实现了插件接口的一个独立的程序。Magicodes团队会提供一些通用插件以供用户免费使用:权限菜单等通用系统管理插件、默认主题。

流程引擎

我们将打造一个轻量级的流程引擎插件,而且也是开源的。这里就不多介绍了,到时让我们用代码说话!

路由系统

动态映射Url,以便使Url更友好或者更易于理解。你的Url你做主。

WebAPI

Magicodes除了支持自有的WebAPI之外,还支持微软的WebAPI。并且支持Rest协议和OData。API一次编写,适应所有终端(PC、移动),适用主流格式(JSON、XML、BSON)。一套API,打遍天下无敌手。而且API友好,使用方便,基于Rest协议的WebAPI,让你极其方便的实现你的增删改查。基于OData协议的API,让你查询爽到爆。

事件管理

在插件中,您可以订阅任何全局事件,那么如何处理,是您说了算。框架只是平台,但是亦不限制您的自由发挥。

性能监控

Magicodes除了有完善的日志记录外,还带有性能计数器,代码哪里慢了?看看计数器怎么说吧。

配置管理

业务系统离不开各种配置,从网站设置到邮件配置等等,Magicodes自带一些默认配置,比如系统配置、邮件配置、站点配置等,能够让您直接使用,同时您也可以设置自己的配置,以供插件使用。

EntityFramework

ADO.NET Entity Framework 是微软以 ADO.NET 为基础所发展出来的对象关系对应 (O/R Mapping) 解决方案。这里我比较喜欢Code First+迁移。

前端

前端模块化

与后端插件架构类似,编程语言发展到一定阶段,必然要经历拆分模块化的过程,以利于团队协作与维护。而前端开发,在经历过纷乱的阶段,也进入了模块化开发的时期。

功能齐全的UI


Magicodes的系列主题将为您提供全面美观的界面,并且有足够多的HTML元素、HTML和CSS组件以及Jquery插件供您选择。让您可以快速构建界面出色、体验优秀的跨屏页面,大幅度提升你的开发效率,让你的网站瞬间变得高大上:

1.    多套主题

2.    前端组件丰富

3.    丰富实用的框架API

一个框架,多种设备

你的网站和应用能在Magicodes的帮助下通过一份代码快速、有效适配手机、平板、PC设备。我们的目的在于最大限度的节省大家的开发工作量

  MVVM

MVVM模式已经成为前端开发的主流,面对日益复杂的前端,模块化只是起点,响应式只是手段,MVVM也只是里程碑。自打一看到MVVM框架,我们就爱上了她,陷入其中不可自拔。也许这就是一见钟情的魅力

  1. 尾声

Magicodes正式开始宣传了。本框架将会长期维护并且更新下去,而且尽量每周分享一篇技术贴或者架构心得贴,以促进大家共同进步,如有不对的地方,请各位大神指正。

 

另外,Magicodes团队是一个崇尚开源的团队,再好的框架,再好的代码也得有人欣赏不是?再说了,我们追求的不是盈利,我们是一群疯狂的代码爱好者,我们追求的是架构的不断完善,我们追求的是你用了我们框架然后给赞!开源,是我们的理念。同时,我们也希望大家也能贡献自己的插件源码,让我们一起前行。

 

预计本周,框架将提供免费下载,请关注我们的官网和我的博客——http://www.magicodes.net。

 

最后,分享一首本人前段时间偶有所感而得的诗:

 

夏雪

 

你是一朵特立独行的雪花

就这么突兀的出现在这个城市的晴空

冰晶的容颜,雪白的罗裙

仿佛整个烈日里都是绽放着的你的美

 

我只是这个城市的过客

茫然而不知所终

你缓缓飘下,然后又不顾一切地融化在我的手心

你给了我你生命中的所有的绚烂

而我却是一个过客

 

也许你不该出现在这个烈烈的晴空

也许我不该行走在这个喧嚣的城市

只是,

不知这一刻的邂逅,可是为了那一刻的永恒


 

时间: 2024-09-18 06:47:40

1.Magicodes.NET框架之路——起航的相关文章

Magicodes.NET框架之路——V0.0.0.5 Beta版发布

最近写代码的时间实在不多,而且今年又打算业余学习下Unity3D以及NodeJs(用于开发游戏后台),因此完善框架的时间更不多了.不过我会一直坚持下去的,同时我也希望有兴趣的同学可以加入Push你的代码. 获取地址:https://github.com/magicodes/Magicodes.NET/releases/tag/V1.0.0.5Beta 文档地址:https://worktile.com/project/4a961c1c28cf4b07bdb4a07f661c7fcf/folder

Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)

首先感谢大家对Magicodes.NET框架的支持.就如我上篇所说,框架成熟可能至少还需要一年,毕竟个人力量实在有限.希望有兴趣的小伙伴能够加入我们并且给予贡献.同时有问题的小伙伴请不要在群里询问问题,QQ群仅限于技术交流. 所有有关Magicodes.NET的问题,请在此https://github.com/magicodes/Magicodes.NET/issues页面根据类型提交相应Issues.在使用Magicodes.NET之前,请先查看官方文档并且阅读FAQ(点此阅读). 上篇提到了

2.Magicodes.NET框架之路——策略管理

闲话策略 策略,有很多解释.但鄙人个人比较看重这点: 策略,是为了实现某个目标或者针对某些问题而制定的应对方案,以最终实现目标.比如为实现生娃而XXOO. 因此在本框架中,策略(Strategy),则是为了实现某些功能或者处理某些特定问题而制定的通用方案或者规则.粗浅一点,你可以理解为XXOO这种方式,不管用啥姿势,归根到底都离不开活塞运动. 如果还不明白,我们举个文明点的例子,比如发送短信,这是系统中常用的功能,也许短信服务商有很多,实现发短信的方式也有很多,但是对于系统来说,只需要的是发送短

Magicodes.NET框架之路——让Magicodes.NET帮你编写代码

时间总是过得很快,而我几乎没有时间来安安静静的写博客和完善文档.不过总算是框架在一直前进,而我的计划是在今年年底(公历)前,让此框架成熟稳定. 在很长一段时间里,我尝试了很多我之前没有接触的技术或者没用过的技术,比如knockoutJs.OData.T4等等,也许走了很多弯路,也许对框架作用并不大,但是却对我而言却很有价值.只有用过了才知道其可用程度和适用场景,没有使用过就没有发言权. 框架也在不断的重构,我不想照抄别人的路子,我只想做一款有特色的框架,安安静静编码,踏踏实实前进,怎么个特色法呢

Magicodes.NET框架之路——产品之路(谈谈产品管理)

虽然Magicodes.NET现在还不属于产品,但是却不妨碍她想成为产品的心. 为什么突然有了此篇,这篇不是空穴来风,而是我思考良久的结果: 为了让大家知道我在干什么,我想干什么,我将要干什么还有我干了什么 为了让大家清楚Magicodes.NET的产品迭代 为了更好地收集以及管理Bug&需求 为了让我和大家清楚Magicodes.NET的方向 为了更好地团队协作,也为了将来团队的扩张 总之,基于这样或那样的原因,于是有了此篇. 本篇为个人想法与规划,希望和大家多多交流,共同成长. WorkTi

Magicodes.WeiChat——ASP.NET Scaffolding生成增删改查、分页、搜索、删除确认、批量操作、批量删除等业务代码

关于T4代码生成这块,我之前写过几篇帖子,如:<Magicodes.NET框架之路--让代码再飞一会(ASP.NET Scaffolding)>(http://www.cnblogs.com/codelove/p/4251533.html).<Magicodes.NET框架之路--让Magicodes.NET帮你编写代码>(http://www.cnblogs.com/codelove/p/4232659.html).ASP.NET Scaffolding虽然有些不足,但是思虑再三

Magicodes.WeiChat——版本发布历史

购买地址:https://item.taobao.com/item.htm?id=520205558575 您可以在新标签页打开此图,以查看原始图片. Magicodes.WeiChat为湖南心莱信息科技有限公司Magicodes系列产品之一,已获得软件著作权证书. V4.5 (2017.12.20) 事件简单封装,主要用于模板消息动态推送. 支持事件触发 支持事件侦听 支持侦听操作处理(目前仅支持模板消息处理) 支持事件参数(IEventData),其中WeChatEventDataBase为

谈笑风生组件化

在当今的前端开发领域,大红大紫的组件化开发如万人空巷,前端技术圈中关于组件化讨论的文章亦如汗牛充栋.然而别人的理解终归是别人的,作为一个胸存小志的开发者,我还是希望能够根据自己的理解和实际工作,总结自己对组件和组件化开发的认知. 在我第一次接触组件化概念时,一时迷迷糊糊,如坠云雾深处.组件是什么?组件化开发是什么?为什么大牛们知道这么多而我不知道?这应该并不是我个人的疑问,每一个除此接触概念的新手,都会有此疑惑.   为什么大牛们知道这么多而我不知道? 我曾经无数次为类似的问题而烦恼,也曾感到急

框架设计之菜鸟漫漫江湖路系列 二:自学求索

二:自学求索 到处求索,勤习武功,略有所成,初会ObjectDataSource+CodeSmith+实体框架   学府授传的.NET武学基础系列,秋天勤习之,日复日.月复月,已掌握九九八八一. 然而学无止境,为了能在武学修为上更进一步,需要扩展自己的知识面,学习更多的武学.   学府之内,有藏经阁一座,供学府弟子深造所建,内藏有.NET世家武学秘籍二十四本,平时往来借书者来往不绝. 秋天亦借之,看之,虽然几乎将藏书看尽,有所获.亦有所惑,书中武学,深浅高底不一,不到层次,看不懂,则无从学起.