面向语言,面向方面,面向业务(草稿)

面向语言,面向方面,面向业务(草稿),第1张

概述面向语言,面向方面,面向业务(草稿) 起因 MS 开发平台下假如你要开发这些东西,桌面程序 (winform),web 开发 (webapp),2d 图形, 3d 你不得不分别在每个平台上重写   winform 算很成熟 ( 免 ) web 方面 : 1.aspx 控件库没有客户端表现库, aspx ajax 只是异步执行服务端请求,使用户感觉仿佛本地响应。 2.aspx 控件和 winform

面向语言,面向方面,面向业务(草稿)

起因 MS 开发平台下假如你要开发这些东西,桌面程序 (winform),web 开发 (webapp),2d 图形, 3d 你不得不分别在每个平台上重写

  winform 算很成熟 ( ) web 方面 :

1.aspx 控件库没有客户端表现库, aspx AJAX 只是异步执行服务端请求,使用户感觉仿佛本地响应。

2.aspx 控件和 winform 控件完全 2 套库,完全不兼容,可以利用的只有 UIEditor, 那仿佛是说设计时还不错,可惜 aspx 竟不解析原生 HTML (纯客户端的),也就意味着要么你全用 aspx 控件,要么你自己整 1 套,要想兼顾,没门。

3.MS 的新技术 silverlight, 号称 falsh 杀手,目前控件库 =0 ,你不得不重头写自己的库,另外要知道 silverlight 用的是精简的 framework, 不是 .net2, 也不是 3.5 ,生成的时候记住不要引用 mscorelib.dll 。那意味着 silverlight 下的东西 , 我不打算其他地方用。

WPF:MS .net3 的重磅产品。你试图从你 winform 的积累中获益?重来吧。

WPFbrowser :你得承认你一无所有。

  2D,3d 专业性很强的领域,没有标准是顺理成章的事,不过,不能有些标准吗?目的统一模型的 UI ,繁杂的业务实体映射,一切交给领域专家语言去解决,我要做的事只是:设计好语言语法书,业务规则库,然后让也许不懂程序的业务经理编写他的业务规则脚本(让技术人员写更现实吧)。

编程技术词汇中的面向领域模型,再联想到 vs2008 DSL( 领域特定语言)工具增强。 vs2008 sdk+vs2008 shell 可以开发出 vs2008 一样的界面 , 也推出了独立发布包(就是有点大,中文版 570M),codeplex.com 上也 ironPython 语言源码, IronPythonStudio (写 IronPython IDE 就象你用 IDE c#, 基于 vs2008 shell), 好像一切都具备了,可是又总感觉哪不对。捆绑得太厉害, IDE 相关库, SDK 库,感觉象 570M 的发布包一样沉重。重点也没关系,可其他开源资源怎么办,多打几个结捆进去。总言之, MS 的宗旨是傻瓜也可以编程。可想做个聪明人也不容易。

名词 DLR( 动态语言 ) 和静态语言的动态特性。概述面向方面,面向业务,面向语言方面是一个领域,如数据库领域,面向业务,领域的业务实体。一门语言专注于一个领域,提供完善的服务。业务数据, UI 彻底分离灵活性来自于规则引擎使用的脚本的强大表现力,而不用担心效率。大不了编译运行。

优势

1. 一次开发,受益终身。专注于领域,松耦。

2. 业务变更暴露在硬编码外。

  3. 业务设计模拟,调试完全可行。因为业务实体就是分离出来的独立的实体对象

4. 跨平台,重用。

5. 通用的 IDE 编辑。语法高亮,自动完成,通过配置即可完成。

6. 示例 web 开发, HTML 标记语言嘛,是语言就是近亲。 HTML,htmx( 我起的名字,自定义后的 HTML, aspx)aspx 通过 HTMLang 分析文件,解析成 UI 对象,然后要想编辑就编辑,编辑完 HTMLLangCodeGenerator 存回去。客户端服务器端可以都使用 Js silverlight,aspxfuture 都支持托管 managed Jscript(Jsx 文件 )) 数据库应用。 IDBLang 解析数据库表,关系,存储过程,要高效就编译成 dll, 不编译也无所谓,反正数据实体出来了, CURD 搞定数据库。懒得搞什么 ORM 映射,又是折腾 XML ,又是折腾 attribute, 代码自动生成麻烦。话说回来,一门语言肯定也要实现代码生成,算是 ORM 的高级应用。业务修改不再是改源码,而是修改业务规则脚本。不过代价是自己得折腾个数据库描述语法,附带支持 sql 查询语言。 游戏。应用比较多。

业务定义,规则定义用 XML 写,所以用 XML 写,我想很大原因是 XML 更通用,各开发平台都有 XML 现成解析器。可是太多冗余数据可读性极差,迫切需要更清晰的表达方式。我比较青睐 Json 格式。或其他能直接表述对象的脚本式语法。流程控制 controller Model-VIEw-Controller,ms 开发框架是基于部件的, MS 下的 MVC 怎么看怎么别扭。还是用我们的脚本吧,一个 action 来了,丢个 controller 对象过去。工作流 workflow 如果要在可视化环境模拟运行,并分析,动态调整。没有特定语言怕不行。

  控制台

控制台使你拥有动态调整能力。在交互复杂的环境也应裕自如。实施有很多现成的 compiler 生成工具。 antlr,gold parser,coco/r,Irony, 完整例子有微软家族的 IronPython,IronRuby,f# 静态语言 boo ,据说效率略低 c# 问题语言的继承。让理论家去搞定他。一般业务也不需要一门新语言,只需要一些不同的库。通用 UI 模型对象基类属性方法事件辅助 resize,move,drag Ruler GrID GuIDline 容器 Page Panel FormPanel TabPanel MenuPanel 静态不交互 Text Image Shape Media 输入 TextBoxelementtextclick TextAreachange CheckBox/radio 列表 Repeater ListBox/combopanel ListVIEw/grID TreeVIEw/menu 命令 link,button,menuitemtarget= UI 控制样式 Cssstyle 子集 pen,brush border,color, 效果 Effectstart,end animate1, 行为 Event Trigger/rule 应用 IDE Menu 说明 ToolWindow ProjExplorer 项目管理 ToolBox 控件 DBExplorer 数据库对象编辑浏览 TypeExplorer 类型定义 EntityExplorer 实体浏览编辑 PropertyGrID 属性页,该支持 IList Console 运行时对对象 *** 作 OutputdeBUG documentVIEw 语言自动完成格式化文件格式 XML 编译 HTML htmx/aspx 自定义 HTML, 只保留少数元素 Json SVG,VIZ,VML 图形 XML 格式脚本语言 JsLang Lua 游戏脚本 11 LSLsecondlife 脚本 Python,Ruby 静态 boo AddinManager 数据 Array IList IDict ITree IDataReader

总结

以上是内存溢出为你收集整理的面向语言,面向方面,面向业务(草稿)全部内容,希望文章能够帮你解决面向语言,面向方面,面向业务(草稿)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1076420.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存