前一段時間﹐在開發零售系統門市作業程序﹐其間結合petshop開源項目的思想﹐形成了一個自已的開發框架﹐主要特點是將與數據庫打交道的部分做了封裝﹐在數據訪問層與UI之間引入了業務邏輯層﹐當時自已還比較滿意﹐因為基本上實現了界面與業務邏輯的分離。后來﹐因為在流程上發生了較大的變更﹐這時發現﹐改動量 比較大﹐很不方便﹐后來﹐看到msdn上的一篇文章﹐建議在系統中大量使用procedure,于是﹐我就把所有的數據庫相關操作分成了几個package,感覺還不錯﹐主要體現在以下几個方面﹕
(1) 直接用plsql編程實現相關功能﹐效率比較高
(2) 如果對package的划分比較合理﹐可以實現較大面積的代碼重用
(3) 修改程式邏輯后﹐不用重新編譯dotNet代碼。
同時﹐我也發現了几個不是很好的地方﹕
(1) 要求編程人員對系統的數據庫結構比較了解
(2) 原來的業務邏輯層扁平化了﹐基本上沒有起到什么作用
看來﹐什么東西﹐好與不好﹐只有自已多用多寫才知道。多實賤永遠都是對的。
具體效果﹐還要持續觀察與學習﹐因為我始終記得一點﹕對自已工作中的流程持續改善

關于dotNet開發中的框架思考相关推荐

  1. android this context,Android應用開發中關於this.context=context的理解

    在Android應用開發中,有的類里面需要聲明一個Context的成員變量,然后還需要在該類的構造函數中加上this.context=context;這行代碼.為什么要這么寫呢?不寫不行么? 先看下面 ...

  2. B.開發中間層和持久層注意事項和技巧()

    1  注意事項: 1.1bean 的 setId 使用 private 修飾,以免其他類可以修改 2   技巧 2.1 使用 0.開發前的準備 1.看清楚需求Doc.流程圖,等文檔 2.弄清表的結構關 ...

  3. 我的中間層開發,我的 DataSnap

    歷史篇 DataSnap 和 MIDAS 應用程式和資料庫的關係演變 為什麼要用 DataSnap?--兩層的優缺點 為什麼要用 DataSnap?--DataSnap 解決兩層問題的方法 緣起篇 一 ...

  4. 開博客了, 因為搞Delphi 開發的關於Delphi學習

    開博客了, 因為搞Delphi 開發的關於Delphi學習,之前都是用本地TXT文件保存,發現在本地電腦保存非常不方面,而且只能在一台電腦上保存,不容易查看和修改內容.便於以後的記錄只用,以及經驗交流 ...

  5. 2017 .NET 開發者須知

    筆記-Scott Hanselman 的 2017 .NET 開發者須知 转载http://blog.darkthread.net/post-2017-01-16-dotnet-dev-should- ...

  6. 用 AsyncDisplayKit 開發響應式 iOS App

    原文:Using AsyncDisplayKit to Develop Responsive UIs in iOS 作者:ZIAD TAMIM 譯者:kmyhy 在 2011 年,我認識了一位非常聰明 ...

  7. php js asp.net,WebMatrix 3: 方便好用的 ASP.NET、PHP、以及 node.js 網站開發工具

    WebMatrix 3: 方便好用的 ASP.NET.PHP.以及 node.js 網站開發工具 05/02/2013 5 分钟可看完 本文内容 WebMatrix 是由 Microsoft 所開發的 ...

  8. 快速android app开发,快速學會開發 Android App

    快速學會開發Android App 作者:吳玉舒 / 臺灣大學計算機及資訊網路中心程式設計組幹事 智慧型手機發展迅速,其中以Android和iOS為主要的平台,根據 2012年6月Nielsen 的調 ...

  9. 基於IIS的WCF的分布式多層架構開發實現

    曾用.NET Remoting,基於IIS,為公司實現過分布式多層架構,客戶端采用Web Browser瀏覽,當時,公司領導告訴我可能會有多臺中間服務器用於系統,又不想每臺電腦的去安裝程序,所以,我最 ...

  10. Delphi APP 開發入門(五)GPS 定位功能

    Delphi APP 開發入門(五)GPS 定位功能 分享: Share on facebookShare on twitterShare on google_plusone_share 閲讀次數:3 ...

最新文章

  1. js中every用法_every方法
  2. 校验正确获取对象或者数组的属性方法(babel-plugin-idx/_.get)
  3. CPU制作流程大揭密
  4. 生成对抗网络学习笔记5----DCGAN(unsupervised representation learning with deep convolutional generative adv)的实现
  5. 报名 | 飞速发展的个人消费信贷与风险控制讲座
  6. php无刷新实现页面更新,使用laravel和ajax实现整个页面无刷新的操作方法
  7. 阿里巴巴指东打西,PC之后卖盒饭?
  8. Unable to resolve dependency问题解决
  9. CSS基础——定位 (position)【学习笔记】
  10. 开发人员必学!java工程师个人简历模板下载
  11. 微信api接口调用-触发推送微信群聊列表
  12. QQ音乐API分析之-加密参数分析(sign计算)
  13. 基于STM32的超声波HC-SR04和红外测距模块测量距离的实验对比(HAL库)
  14. Windows Server 2019 Datacenter OVF 模板 百度网盘 下载
  15. c语言课程终结考试,C语言课程考核方案.doc
  16. 2019年东北四省赛感想
  17. 库存遮羞布被揭开,高通提前发布骁龙8G2,国产手机已无路可走
  18. 为什么美团股价大跌:疫情影响、阿里竞争与模式弊病
  19. k8s+jenkins+docker部署微服务实现CI/CD
  20. IE无法打开网页的原因

热门文章

  1. beego 初体验 - 环境搭建
  2. vue开发中v-for在Eslint的规则检查下出现:Elements in iteration expect to have 'v-bind:key' directives...
  3. codevs4919 线段树练习4
  4. HTML5 Web Storage -- 让Cookies看起来如此古老
  5. Android UI 调试常用工具(Dump view UI hierarchy for Automator)
  6. MySql Windws 下自动备份脚本
  7. 用友CDM系统“货位间商品移库单(一步)”表体增加“货位可用数量”字段,根据表头的选择的货位自动带出数值...
  8. anaconda 卸载_Windows安装Anaconda使用教程
  9. python做图书馆管理系统-为什么我学了一个月python基础了,还写不出简单图书馆系统?...
  10. 在阿里云创建子域名,配置nginx,使用pm2部署node项目到ubuntu服务器