• 设计之路——我的成果小报告 updated@20101001


    基础框架

     

    Pixysoft.Framework.Verification updated 2010-04-18 开发完成

    2010-0418: 加入exception机制。初步实现拦截策略。 

    2009-1202: 支持Design by Contract模式 使用串行验证参数。 

    Pixysoft.Framework.Configuration updated 2009-11-25 开发完成

    统一配置架构 只要实现了对应的接口,就能够实现统一的配置,方便日后各种框架之间的初始化等。

    实现了一个基于xmlreader的简易高速查询机制,是接下来log/version的基础框架

    Pixysoft.Framework.Logs updated 2009-11-30 开发完成

    使用伪xml记录日志,实现查询、日期范围查询、异常合并报告、打包。

    提供了一个基础模块,实现Record的插入、查询、打包,为日后的数据挖掘、版本控制提供基础框架。

    Pixysoft.Framework.Plugins updated 2009-12-28 开发完成

    临时提出的插件框架,使用通用的接口,启动appdomain,并且提供简单的invoke方法调用不同的域。

    核心框架

    Pixysoft.Framework.XSchema

    读取、操作、持久所有数据库的结构数据(Schema),自身采用了一套实体设计,能够在任意数据库中切换,实现数据库的透明化。

    Pixysoft.Framework.Noebe

    采用同意的接口,对任意数据库实现增、删、改、查的操作。

    Pixysoft.Framework.Noebe.Ws

    基于Noebe接口,实现了web service远程操作。

    Pixysoft.Framework.Noebe.Consistency

    基于Noebe接口,实现了任意数据库点对点的同步。

    Pixysoft.Framework.Noebe.Orm updated 2010-09-27

    重写架构,使用动态编译技术 

    基于Noebe接口实现ORM操作。

    Pixysoft.Framework.Remoting updated 2010-0412 第一阶段开发完成

    一个远程调用的框架。只要在本地代码声明

    Pixysoft.Framework.Security updated 2010-03-28 增加了SSO

    2010-03-28 增加sso功能 

    2009-11-03 基于ORM实现权限操作,采用RBAC模型设计,结合HttpModule实现asp.net的权限验证。考虑扩展security的功能,增加黑、白名单、token控制、anonimous控制等。

    Pixysoft.Framework.Comet updated 2010-05-06 更新完成

    2010-05-06 原pixysoft.framework.noebe.comets改名pixysoft.framework.comet,重写所有架构,实现任意通讯。 

    2009-12-08 采用comet技术,实现数据库远程访问 非常稳定;添加了comet的数据信道,实现了数据传输

    Pixysoft.Framework.Noebe.MemoryCaches updated 2010-02-05更新完成

    数据库的缓存完成,使用MRU算法。 至于通用的缓存层,

    将放入再低一层框架,并实现豆瓣的分布式哈希表技术。

    Pixyosft.Framework.Noebe.Consistency.Remote  updated 2010-03-14 更新完成

    原consistency基于noebe.ws,存在极大的安全隐患,因此针对远程服务器开发一套http协议的同步框架。 

    Pixysoft.Framework.Samsara

    数据流处理引擎,通过自定义的脚本,基于DataTable模型,进行任意的复杂数据运算与处理。

    应用框架

    Pixysoft.Framework.Versions updated 2009-12-13 更新完成

    统一的版本控制框架,包括自动升级、版本对比、版本报告等功能。

    同时开发了简单的客户端,实现以上功能。

    Pixysoft.Framework.Workflow updated 2009-11-03 工作流阶段性完成

    基于ORM实现自定义表单的workflow,并且支持分布式环境下的工作流处理。

    Pixysoft.Framework.Messageflow updated 2010-05-12 重构

    2010-05-12 重写架构 使用XML协议 

    2009-11-20 结合当今热门的IM(qq、gtalk、msn、fetion、sms、email),实现任意IM的无缝切换。

    2009-11-20 结合comet技术,实现网页与服务器的im通讯

    2009-11-20 原本的框架写的还真是非常的烂,为了能够企业级别应用,需要重写:日志系统、异常处理的漏洞、架构的臃肿。

    Pixysoft.Framework.CodeLive updated 2009-12-30 第一阶段开发完成

    直接解析c#代码,进行对象建模。实现重构、自动生成等功能。

    Pixysoft.Framework.HealthChecks updated 2010-02-07 第一阶段开发完成

    一个自检框架,包括安装自检、运行时自检、系统崩溃自检。自动上传报告到服务器、磁盘、email

    Pixysoft.Framework.Schedular updated 2010-02-21 第一阶段开发完成

    通过网站配置调度的计划,分布式下的节点获取计划分别实施。

    目前不支持信息的通讯,留给第二阶段、或者调度的应用。 

    不支持petric网等拓扑结构、运筹学等,毕竟这种需求比较少,不如直接写代码。 

    Pixysoft.Framework.Registry updated 2010-0306第一阶段开发完成

    一个应用的注册中心,未来的分布式节点直接根据注册中心获取服务的许可,从而运行服务。不需要再依赖配置文件。 

    Pixysoft.Framework.CodeLive.VisualStudio updated 2010-0416第二阶段开发完成

    2010-04-16: 参考smartpaster,解决了VS2005集成问题。 

    2010-03-19: 对IDE的插件封装,实现调用。 

    Pixysoft.Framework.AutoUpdates updated 2010-0415 第二阶段开发完成

    2010-04-15: 重构结构,实现网站一键部署,支持FTP上传。 

    2010-03-26: 基于Pixysoft.AutoUpdater,支持xml查分更新、sql更新、文件内容更新、目录更新等。

    Pixysoft.Framework.Spiders updated 2010-0401 第一阶段开发完成

    初步建立了spider的爬行模型,支持kaixin001, sjtubbs, tsina, cnblogs的操作。 

    Pixysoft.Framework.Reports updated 2010-0506 第一阶段开发完成

    报表系统。支持简单的column、row合计算法。模型建立,有待完善。

    表示层框架

    Pixysoft.Framework.Prototypes updated 2010-01-24 第二阶段开发完成

    2010-01-24:集成了pageflow 

    2010-01-18:自动生成原型界面的框架 支持coolite/asp.net/html/winform

    Pixysoft.Framework.Pageflows updated 2010-01-24 第二阶段开发完成

    2010-01-24:与stepflow合并,实现页面级别的诱导操作。

    2010-01-22:页面流 根据界面开发三范式原则 定义了不同form之间的沟通接口。 

    开发实践框架 

    Pixysoft.Framework.PageDrivens  updated 2010-0422 第一阶段开发完成

    页面驱动,自动生成文档。  

    Pixysoft.Framework.TestDrivens  updated 2010-0416 第一阶段开发完成

    支持类的测试、全体测试 

    未来应用开发计划(不断补充中)

    Pixysoft.Applications.Finance

    一套通用的财务软件系统核心引擎。其实财务核心实在太简单了,和数据挖掘理论有点像(在核心数据处理理论上)。因此等我数据挖掘完成了,会开始考虑做一套财务的软件应用核心。

    CRM / .. 可以参考SAP的系统模块

    测试驱动最佳实践

    不同的项目测试要求不一致,现在主要针对Framework项目(X/Application.X/Weblication.X/Service.X不讨论) 

    框架测试分:

    1. 内部测试

    测试代码在项目内部,与项目一同编译。目的是检查某个class的功能状况。

    测试代码不使用public,不会暴露出来。

    测试代码不需要维护,一旦过期,则直接丢弃。(前提是有详细的外部测试代码) 

    2. 外部功能测试

    新建的一个项目,不与旧项目一起编译。

    包含一个项目功能性列表(与WEB同步) 

    每个测试代码片段拥有详细的说明, 包括测试的范围、测试的效果等。

    测试片段针对功能性测试,目的是保证整个项目始终符合设计需求,任何变动都不会影响其他项目。 

    测试代码仅维护最新版本,文档则所有版本。 

    平台时间表

    www.net.cn

    域名:www.citi-box.com / 时间:2011-01-20 / -139-

    www.west263.com

    空间:www.citi-box.com / 时间:2010-07-11 / -498-

    www.cnkuai.cn

    域名:www.pixysoft.net / 时间:2010-12-31 / -098-

    空间:www.pixysoft.net / 时间:2010-12-17 / -200-

    技术备忘录

    1. 在winform里面,如果启动了异步,则不能传递this给另外一个方法,否则进入假死

    2. 在winform里,如果初始化form的时候,使用异步显示了另外一个form.dialog。之后如果再触发一个form.dialog,填写textbox的时候切换中文会导致假死。 

    3. 让foreach线程安全的方式,最简单是用for代替!

    4. 一个方法里面,不要使用默认值干太多的事情,相反用输入参数取代。例如一个update,原设计使用了太多的默认路径batchupdate/batchbackup,导致后面开发思路混乱。

    5. 线程安全问题:只要不修改该集合,Dictionary 就可以同时支持多个阅读器。 

    历史引用

    http://www.cnblogs.com/zc22/archive/2009/10/28/1591434.html#

  • 相关阅读:
    DBAccess
    业务耗时及数组
    QB资料学习.01
    格式化参数
    日志记录.02_线程处理
    nginx 开启gzip
    js 变量提升和函数提升
    js 深拷贝 vs 浅拷贝
    js 伪数组 转 数组
    js 对象原型和原型链
  • 原文地址:https://www.cnblogs.com/zc22/p/1839737.html
Copyright © 2020-2023  润新知