1.Magicodes.NET框架之路——起航
1.Magicodes.NET框架之路——起航
前言
从事开发也好几年了,并且最近一直在做架构搭建的工作。这些时间,最大的感悟就是:
- 只有自己理解了的才是自己的。
- 对架构这块,若欲立之,必先破之。
故此,才准备利用业余时间来倾力打造这套框架。由于时间精力以及能力有限,也许这套框架初期会有很多不合理之处,但是我相信只要有恒心,这套框架迟早会打磨完美。由于本人秉承做一行爱一行的原则,对代码也比较痴迷,故此命名为"Magicodes框架"。
Magicodes ——意为"Magic Codes"。代码就如同魔术,每一个代码爱好者都可能是一位大魔术师。只要你热衷于此,请跟随我们的脚步一起前行吧。
在最近的一段时间里,我们也组成了Magicodes团队,Magicodes团队是一个崇尚开源的团队,我们决定接下来长期维护此框架并且免费开源。
MagicCode框架优势
MagicCode框架是一套插件框架,目前为WebForm版本,在WebForm版本稳定后,我将继续打造Mvc版本。从整套架构体系的设计方面来说,除了后端框架的插件式设计外,前端框架的模块化设计也是本框架的一部分。
好了,废话不说了,下面就简单列下本框架所涉猎到的一些技术或者概念:
|
后端 |
插件式架构(MagicCode架构) |
插件式架构就在于提供一个开放的体系结构,以方便中间件的选择、组装和集成,应用框架的重用已成为软件开发生产中最有效的重用方式之一。 基于插件的设计好处很多,把扩展功能从框架中剥离出来,降低了框架的复杂度,让框架更容易实现。扩展功能与框架以一种很松的方式耦合,两者在保持接口不变的情况下,可以独立变化和发布。公开插件接口,让第三方有机会扩展应用程序的功能,有财大家一起发。另外,还可以让开源与闭源共存于一套软件,你的插件是开源还是闭源,完全由你自己决定。 |
|
插件框架(MagicCode.Core) |
插件框架用于组织和管理系统插件的下载、装载、组合、实例化以及销毁,并提供整套完整的与后台服务通信的操作接口等功能。 |
|
|
插件接口(MagicCode.Web.Interfaces) |
系统的所有插件全部通过实现系统框架统一的接口规范,以便有效的组织、管理插件对象。 插件策略属于插件接口的一部分,插件策略用于实现一些比较通用的功能,以便于各个插件调用,目前MagicCode框架提供了以下策略:
|
|
|
插件组件(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框架,我们就爱上了她,陷入其中不可自拔。也许这就是一见钟情的魅力 |
尾声
Magicodes正式开始宣传了。本框架将会长期维护并且更新下去,而且尽量每周分享一篇技术贴或者架构心得贴,以促进大家共同进步,如有不对的地方,请各位大神指正。
另外,Magicodes团队是一个崇尚开源的团队,再好的框架,再好的代码也得有人欣赏不是?再说了,我们追求的不是盈利,我们是一群疯狂的代码爱好者,我们追求的是架构的不断完善,我们追求的是你用了我们框架然后给赞!开源,是我们的理念。同时,我们也希望大家也能贡献自己的插件源码,让我们一起前行。
预计本周,框架将提供免费下载,请关注我们的官网和我的博客——http://www.magicodes.net。
最后,分享一首本人前段时间偶有所感而得的诗:
夏雪
你是一朵特立独行的雪花
就这么突兀的出现在这个城市的晴空
冰晶的容颜,雪白的罗裙
仿佛整个烈日里都是绽放着的你的美
我只是这个城市的过客
茫然而不知所终
你缓缓飘下,然后又不顾一切地融化在我的手心
你给了我你生命中的所有的绚烂
而我却是一个过客
也许你不该出现在这个烈烈的晴空
也许我不该行走在这个喧嚣的城市
只是,
不知这一刻的邂逅,可是为了那一刻的永恒
1.Magicodes.NET框架之路——起航的更多相关文章
- Magicodes.NET框架之路——V0.0.0.5 Beta版发布
最近写代码的时间实在不多,而且今年又打算业余学习下Unity3D以及NodeJs(用于开发游戏后台),因此完善框架的时间更不多了.不过我会一直坚持下去的,同时我也希望有兴趣的同学可以加入Push你的代 ...
- 3.Magicodes.NET框架之路——预览(一)
3.Magicodes.NET框架之路——预览(一) 前言 一眨眼,已经过去两个多月了 ,哥已经火力全开了(业余时间和精力,甚至为此放弃了各种私活),所以大家不要抱怨慢哈.编程犹如逆水行舟,不进则退. ...
- Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding)
首先感谢大家对Magicodes.NET框架的支持.就如我上篇所说,框架成熟可能至少还需要一年,毕竟个人力量实在有限.希望有兴趣的小伙伴能够加入我们并且给予贡献.同时有问题的小伙伴请不要在群里询问问题 ...
- 2.Magicodes.NET框架之路——策略管理
闲话策略 策略,有很多解释.但鄙人个人比较看重这点: 策略,是为了实现某个目标或者针对某些问题而制定的应对方案,以最终实现目标.比如为实现生娃而XXOO. 因此在本框架中,策略(Strategy),则 ...
- Magicodes.NET框架之路——产品之路(谈谈产品管理)
虽然Magicodes.NET现在还不属于产品,但是却不妨碍她想成为产品的心. 为什么突然有了此篇,这篇不是空穴来风,而是我思考良久的结果: 为了让大家知道我在干什么,我想干什么,我将要干什么还有我干 ...
- Magicodes.NET框架之路——让Magicodes.NET帮你编写代码
时间总是过得很快,而我几乎没有时间来安安静静的写博客和完善文档.不过总算是框架在一直前进,而我的计划是在今年年底(公历)前,让此框架成熟稳定. 在很长一段时间里,我尝试了很多我之前没有接触的技术或者没 ...
- Magicodes.NET框架之路[转]
插件式框架 响应式布局以及前后端对移动设备的支持 便捷的业务代码生成,比如CRUD生成,并且表单支持根据不同数据类型或特性生成相应的展示组件. 从框架到插件包括代码生成模板均走开源路线,便于理解和定制 ...
- Magicodes.NET框架
Magicodes.NET框架之路——让代码再飞一会(ASP.NET Scaffolding) 首先感谢大家对Magicodes.NET框架的支持.就如我上篇所说,框架成熟可能至少还需要一年,毕竟 ...
- tornado框架之路二
二.路由系统 路由系统其实就是 url 和 类 的对应关系,这里不同于其他框架,其他很多框架均是 url 对应 函数,Tornado中每个url对应的是一个类. #!/usr/bin/env pyth ...
随机推荐
- appium + java + WebDriverAgent实现IOS app启动
Appium v1.8.1 <dependency> <groupId>io.appium</groupId> <artifactId>ja ...
- prim算法和克鲁斯卡尔算法
Prim 设图G=(V,E)是一个具有n个顶点的连通网,其生成树的顶点集合为U.首先把v0放入U,再在所有的u∈U,v∈V-U的边(u,v)∈E中找一条最小权值的边,加入生成树,并把该边的v加入U集合 ...
- 【repost】 JS变量重复声明以及忽略var 声明的问题及其背后的原理
JS的容错率很高,一些其他语言常见的小错误JS都能大度得包容,比如给一个方法传入超出预计的参数.在声明变量之前使用该变量(变量的声明提升解决了这个问题)等等,这里我们就要解剖一下JS变量重复声明以及当 ...
- Vue笔记整理——第一天
1.为什么学习Vue? 提高开发效率. 提高效率历程:原生js——>jq(解决兼容性)——>前端模板引擎——>Vue.js(减少DOM操作,注重数据业务逻辑). 2.框架与库的区别? ...
- 关于 this 关键字的使用
package com.jsti.guiyang_01; /* 自定义Phone类 this关键字 代表当前正在调用这个方法(访问成员变量)的对象(实例) 1.在setxxx方法中用来区分成员变量和局 ...
- git的认识2
我的GitHub 地址:https://github.com/lvjiaze130 唯一的感觉就是厉害了,还有看了一些个教学视频发现他们在git bush上打的东西我竟然都看不懂,是英文吗?太不好懂了 ...
- Java并发编程:Synchronized底层优化(偏向锁、轻量级锁)
Java并发编程系列: Java 并发编程:核心理论 Java并发编程:Synchronized及其实现原理 Java并发编程:Synchronized底层优化(轻量级锁.偏向锁) Java 并发编程 ...
- 项目Alpha冲刺(团队6/10)
项目Alpha冲刺(团队6/10) 团队名称: 云打印 作业要求: 项目Alpha冲刺(团队) 作业目标: 完成项目Alpha版本 团队队员 队员学号 队员姓名 个人博客地址 备注 221600412 ...
- springDatasolr 排序
String sortValue = (String) searchMap.get("sort");// ASC DESC String sortField = (String) ...
- JavaScript之DOM创建节点
上几篇文章中我们罗列了一些获取HTML页面DOM对象的方法,当我们获取到了这些对象之后,下一步将对这些对象进行更改,在适当的时候进行对象各属性的修改就形成了我们平时看到的动态效果.具体js中可以修改D ...