当前位置: 首页 > news >正文

项目中用到的架构模式(持续更新)

1. asp.net mvc 

view + controller + model

2. 利用StructureMap Ioc

   public class BootStrapper
    {
        public static void ConfigureStructureMap()
        {
            // Initialize the registry
            ObjectFactory.Initialize(x =>
            {
                x.AddRegistry<ModelRegistry>();

            });
        }

        public class ModelRegistry : Registry
        {
            public ModelRegistry()
            {
                //ClientControl
                ForRequestedType<IGetMainAllData>().TheDefault.Is.OfConcreteType<GetMainAllDataByTime>(); 
                ForRequestedType<IGetHomeAllData>().TheDefault.Is.OfConcreteType<GetHomeAllDataByTime>();              
                ForRequestedType<IGetEnvironmentAllData>().TheDefault.Is.OfConcreteType<GetEnvironmentAllDataByTime>();
                ForRequestedType<IGetBuildAllData>().TheDefault.Is.OfConcreteType<GetBuildAllDataByTime>();
                ForRequestedType<IGetEnergyAllData>().TheDefault.Is.OfConcreteType<GetEnergyAllDataByTime>();
                ForRequestedType<IGetGridAllData>().TheDefault.Is.OfConcreteType<GetGridAllDataByTime>();
                ForRequestedType<IGetQueryAllData>().TheDefault.Is.OfConcreteType<GetQueryAllDataByTime>();
                ForRequestedType<IGetWarnAllData>().TheDefault.Is.OfConcreteType<GetWarnAllDataByTime>();
                ForRequestedType<IGetSplitAllData>().TheDefault.Is.OfConcreteType<GetSplitAllDataByTime>();

                //DataAccess
                ForRequestedType<IMainData>().TheDefault.Is.OfConcreteType<MainDataControl>();
                ForRequestedType<IHomePageData>().TheDefault.Is.OfConcreteType<HomePageDataControl>();
                ForRequestedType<IEnvironmentParametersData>().TheDefault.Is.OfConcreteType<EnvironmentParametersDataControl>();
                ForRequestedType<IBuildingData>().TheDefault.Is.OfConcreteType<BuildingDataControl>();
                ForRequestedType<IEnergyData>().TheDefault.Is.OfConcreteType<EnergyDataControl>();
                ForRequestedType<IGridData>().TheDefault.Is.OfConcreteType<GridDataControl>();
                ForRequestedType<IQueryData>().TheDefault.Is.OfConcreteType<QueryDataControl>();
                ForRequestedType<IWarnData>().TheDefault.Is.OfConcreteType<WarnDataControl>();

                //Cache
                ForRequestedType<ICacheStorage>().TheDefault.Is.OfConcreteType<HttpContextCache>();
            }
        }
    }

3. asp.net + extjs3.4 + fusioncharts

4. (winform)mvp + service + model + repository

5. spring 3.1 mvc  + service + persistense + mybatis 3

6. Request + Response 模式

7.Null Object 模式

   public class NullObjectCachingAdapter : ICacheStorage 
    {        
        public void Remove(string key)
        {
            // Do nothing
        }

        public void Store(string key, object data)
        {
            // Do nothing
        }

        public T Retrieve<T>(string storageKey)
        {
            return default(T);
        }        
    }

 

转载于:https://www.cnblogs.com/smileberry/archive/2013/05/02/3054843.html

相关文章:

  • 校园招聘笔试题(A卷)
  • javadoc 命令
  • 校园招聘笔试题(B卷)
  • 进程与线程的一个简单解释
  • 嵌入式C开发人员的最好的0x10道笔试题
  • nullnullDefining and Launching the Query 定义和启动查询
  • IT知名公司工资一览
  • C++ const的用法
  • sourceforge开源项目
  • Winform 常用技巧
  • Keil 仿真之外设控制(System Viewer)
  • Qt 实现多文档
  • 局部特征(4)——SIFT和SURF的比较
  • 传感网和物联网的由来、进展与发展趋势
  • Linux多线程服务端编程:使用muduo C++网络库
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • Asm.js的简单介绍
  • echarts花样作死的坑
  • Electron入门介绍
  • Java多态
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • oldjun 检测网站的经验
  • php面试题 汇集2
  • session共享问题解决方案
  • STAR法则
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 后端_MYSQL
  • 可能是历史上最全的CC0版权可以免费商用的图片网站
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • 400多位云计算专家和开发者,加入了同一个组织 ...
  • Android开发者必备:推荐一款助力开发的开源APP
  • MPAndroidChart 教程:Y轴 YAxis
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • ​ArcGIS Pro 如何批量删除字段
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #、%和$符号在OGNL表达式中经常出现
  • #单片机(TB6600驱动42步进电机)
  • (C++17) optional的使用
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (solr系列:一)使用tomcat部署solr服务
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET 8 编写 LiteDB vs SQLite 数据库 CRUD 接口性能测试(准备篇)
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET文档生成工具ADB使用图文教程
  • /etc/motd and /etc/issue
  • @KafkaListener注解详解(一)| 常用参数详解
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • @ModelAttribute注解使用