自然框架,拆分后的项目关系

  拆分了一下自然框架,似乎又绕回去了。以前是多个项目分开放的,有人说太分散了,还得一个个下载,麻烦。于是就做了一个解决方案,把项目都放在了一起。

  现在呢,QuickPager分页控件比较完善了,有人只想看分页控件的代码,其他的不想看,东西太多了乱。想一想也是,那么就拆分一下吧。原来自定义控件都是放在一个项目里的,编译后生成一个dll,版本号也只有一个。这样版本号就很难管理了,有任何一个控件升级,整个版本号都要升级,因为就是一个版本号。这样版本号就不大够用了。所以以前的源码下载,我只写上传日期而没有写版本号。

  拆分之后呢,QuickPager自己是一个项目,可以用自己的版本号而不受其他控件的影响了。这样也是便于维护。

  那就拆分吧,不过一拆分问题就出来了。原来放在一起,都好好的。但是一拆分出来就发现出现了互相引用的情况,头疼。怎么办呢?多拆出来几个项目吧。于是自然框架就拆成了10个项目。原来只有六个项目,拆出来一个分页控件和分页算法,应该是八个。就是说又多出来两个项目。一个是基础控件,一个是控件接口。作为接口定义,如果不单独生成一个dll的话,那还真不好引用。不过这还没完,元数据的部分还是没有弄好,这里似乎也应该定义一个接口,可是现在的实力还定义不好。所以你会发现QuickPager分页控件也需要引用这个元数据的项目。

  发几个图,这几个图都是比较乱的,我是尽量理顺了,但是还是很乱的感觉。

  项目层次图:共用函数作为最底层,数据访问函数库、控件接口、分页算法、登录用户作为第二层的底层,分页控件、基础控件、元数据控件作为控件层,元数据(定义和加载)作为后盾。页面基类就是页面级的了。

项目引用关系:这个就更乱了,尽量避免循环引用和互相引用,现在是完全避免了,但是引用关系还是比较复杂。看来功力还是不够哇。

基础控件就是Textbox、DropDownList这类的控件

元数据控件,就是必须使用元数据才能运行的控件,比如表单控件、查询控件、数据显示控件。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏君赏技术博客

学习UISCREENEDGEPANGESTURERECOGNIZER手势

最近几天一直搞首页的框架,看了一些轮子,发现和我们的首页不一样。但是却发现UIScreenEdgePanGestureRecognizer这个类,就研究一下。

1162
来自专栏Coco的专栏

《HTML重构》读书笔记&思维导图

1754
来自专栏腾讯NEXT学位

【干货】解剖小程序的 setData

双线程的渲染机制、通信机制,setData 的出现、工作原理、使用建议等,应该要怎么去理解呢?

7842
来自专栏知晓程序

零基础学开发,她做了款「仿知乎」小程序 | 实战教程

1865
来自专栏Debian社区

Debian下安装搜狗拼音输入法

2013年12月,搜狗与Ubuntu Kylin团队开始合作开发“搜狗输入法Linux版”。经过五个月的合作,于2014年4月17日,正式发布了1.0版本。20...

1853
来自专栏angularejs学习篇

js鼠标事件

今天遇到一个非常奇怪而又搞笑的事情:给一个a标签添加一个鼠标移动上时给一个事件,我给其添加的是一个onMouseMove事件,结果在IE6 7 8 9和GOOL...

1823
来自专栏ytkah

微信小程序开发教程第七章:微信小程序编辑名片页面开发

编辑名片有两条路径,分为新增名片流程与修改名片流程。 用户手填新增名片流程: ? ? ? 首先跳转到我们的新增名片页面 1 需要传递用户的当前 userId,w...

3277
来自专栏移动开发之家

从Android到React Native开发(一、入门)

 大家好┏ (^ω^)=,许久不见,一不小心断更就成为了一种习惯,因为最近掉React Native的坑里,无法自拔啊~(╯‵□′)╯︵┻━┻。

1012
来自专栏Python爬虫与算法进阶

当selenium被识别爬虫后

因为某站发版,在修一个以前的项目,用Selenium驱动Chrome来做的,然后在某页面需要点击,无论怎么做都失效,我尝试过如下方法:

1.6K3
来自专栏糊一笑

微信小程序初探【类微信UI聊天简单实现】

微信小程序最近很火,火到什么程度,只要你一打开微信,就是它的身影,几乎你用的各个APP都可以在微信中找到它的复制版,另外官方自带的跳一跳更是将它推到了空前至高的...

5795

扫码关注云+社区

领取腾讯云代金券