上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页
摘要: 在上一讲中,我们已经新建了一个聚合根对象Account,并已经可以开始设计领域模型了。在这一讲中,我们会着重介绍EasyMemo领域模型的分析和设计,并引入Visual Studio Ultimate(旗舰版)版本的特性,介绍在Visual Studio 2013 Ultimate中如何使用体系结构建模工具进行领域模型设计,并自动化产生支持Apworks框架的代码。 界定上下文 由于EasyM... 阅读全文
posted @ 2015-10-03 20:54 dax.net 阅读(7686) 评论(31) 推荐(8) 编辑
摘要: 时隔一年,继续我们的Apworks框架之旅。在接下来的文章中,我将逐渐向大家介绍如何在Visual Studio中结合Apworks框架,使用ASP.NET Web API和MVC来开发面向经典分层架构的应用程序。在这一讲中,我们首先了解一下分层架构的各个“层”,以及所涉及的Visual Studio项目,然后,我们从领域模型开始,在Visual Studio中开始我们的应用程序开发之旅。 说明... 阅读全文
posted @ 2015-10-02 11:40 dax.net 阅读(5924) 评论(14) 推荐(9) 编辑
摘要: 最近突发奇想,下载了Microsoft Small Basic并编写了两个图形变换的小程序,希望能够让儿子对科技产生兴趣(当然,成为像我一样的码农可不是我的初衷)。 捡起自己入门电脑编程时学会的第一门语言 GW Basic,下载完Small Basic后写的第一个图形程序就是一个五彩缤纷的小球在屏幕上乱跳的程序,看上去有点像DOS下小球病毒爆发时的现象(不好意思暴露自己年龄了),而第二个程序... 阅读全文
posted @ 2015-09-26 22:12 dax.net 阅读(4602) 评论(5) 推荐(11) 编辑
摘要: 在最新版本(1.0.5715.39966)的CloudNotes桌面客户端中,已经可以把笔记发布到博客园了,它是通过一个新增的桌面客户端插件实现的。事实上,该插件不仅仅支持博客园,它可以支持所有基于MetaWeblog API的博客系统。 发布博客 不多说,先上图。在该版本的桌面客户端中,打开设置对话框,进入“扩展功能”标签,您可以看到在工具型扩展功能列表中,新增了两个扩展功能(也就是常说的插件... 阅读全文
posted @ 2015-08-26 16:36 dax.net 阅读(1740) 评论(2) 推荐(6) 编辑
摘要: 最近在CloudNotes桌面客户端中新增了笔记撰写样式的功能。当用户新建笔记的时候,可以在输入笔记标题的同时,选择笔记撰写样式,由安装包默认提供的样式主要有默认样式(Default)、羊皮纸样式(Leather Paper)以及Word 2013样式(Microsoft Word 2013)。选择笔记样式的时候,还提供了预览功能,用户可以直接预览样式效果: 当然,为了方便操作,用户可以在设... 阅读全文
posted @ 2015-08-19 15:07 dax.net 阅读(1974) 评论(2) 推荐(0) 编辑
摘要: 最近因项目需要,我自己设计开发了一个基于Windows Forms的向导开发框架,目前我已经将其开源,并发布了一个NuGet安装包。比较囧的一件事是,当我发布了NuGet安装包以后,发现原来已经有一个.NET的向导开发框架了,它叫Microsoft Visual Studio 2013 Wizard... 阅读全文
posted @ 2015-07-01 10:08 dax.net 阅读(8216) 评论(28) 推荐(29) 编辑
摘要: 【CloudNotes版本更新历史与各版本下载地址请点击此处】 【CloudNotes中文系列文章汇总列表请点击此处】 【查看CloudNotes源代码请点击此处】 有时候,同一个名词,针对不同的人群,应该采用不同的表达方式。比如插件的概念,对于程序员而言,可以将其称为插件,或者扩展。对于用户而言,或许“扩展功能”一词会更加贴切。本文还是脱离不了码农的气质,继续讨论技术问题,因此,我会以“插... 阅读全文
posted @ 2015-02-25 22:06 dax.net 阅读(2710) 评论(9) 推荐(2) 编辑
摘要: CloudNotes领域模型还是相对简单的,并不一定需要采用面向领域驱动的设计方法来解决CloudNotes的领域问题。但出于以下几个方面的原因,我还是采用了面向领域驱动的方式来开发CloudNotes: 领域驱动是企业级应用开发的一种指导性模型,以领域模型作为软件开发的中心,符合解决问题的基本思路 现有的企业级应用开发框架对面向领域的开发模式支持得越来越好,如果选用这种方式,可以... 阅读全文
posted @ 2015-02-22 20:46 dax.net 阅读(3304) 评论(4) 推荐(3) 编辑
摘要: 【CloudNotes版本更新信息与下载地址:http://cloudnotes.cloudapp.net/webapi/Home/Release】【CloudNotes RESTful API帮助文档地址:http://cloudnotes.cloudapp.net/webapi/Help】Clo... 阅读全文
posted @ 2015-02-15 13:56 dax.net 阅读(1389) 评论(1) 推荐(2) 编辑
摘要: Json数据转换为ADO.NET DataSet其实方法有很多,Newtonsoft.Json也提供了DataSet的Converter用以转换Json数据。但是有些情况下DataSet Converter并不管用,而且也不一定能够满足项目需要。这里介绍另一种简单有效的方法,能够方便快速地将Json数据转为ADO.NET DataSet。 设计 事实上Newtonsoft.Json已经提供了一... 阅读全文
posted @ 2015-02-02 10:54 dax.net 阅读(6754) 评论(13) 推荐(8) 编辑
摘要: 今天,我发布了CloudNotes的一个更新版本:1.0.5484.36793。这个版本与1.0.5472.20097不同的是,它拥有增强的笔记列表,与之前单调的列表系统相比,新的笔记列表不仅可以显示笔记的摘要内容,而且还可以从笔记中抽取第一张图片,并显示图片的详细信息: 怎么样?相比之前的笔记列表,现在的设计是不是能够展示更丰富的信息呢? 升级到最新版本 如果在读完我的第一篇关于Clo... 阅读全文
posted @ 2015-01-07 16:14 dax.net 阅读(2172) 评论(3) 推荐(9) 编辑
摘要: 很长时间没有更新博客了,一直在忙着工作和生活琐事,虽然偶尔也有闲暇之时,但短短的几个小时空闲又未必能够静下心来。最近一个多月突发奇想,将自己在近一年前做的一个自己用的云端个人笔记系统重构美化了一下,增强了一部分功能,现打算开源公布出来,分享给大家,也会慢慢地向大家介绍整个系统所使用的开发技术和部署环境等细节。 背景 近一年前,我一直希望能自己开发一套轻量的个人笔记系统,需要的功能不多,能够在W... 阅读全文
posted @ 2014-12-25 21:38 dax.net 阅读(6465) 评论(25) 推荐(30) 编辑
摘要: 最近发现在项目中或许会遇到让用户自己构建查询表达式的情况。比如需要通过一种可配置的界面,来让用户输入一组具有逻辑关系的查询表达式,然后根据这个查询表达式来过滤并返回所需要的数据。这种用户案例其实非常常见。由此受到启发,或许我们可以自己定义一种通用的面向查询的领域特定语言(DSL),来实现查询的序列化和动态构建。 概述 由此我发布了一个称为Unified Queries(以下简称UQ)的开源项目... 阅读全文
posted @ 2014-08-20 20:13 dax.net 阅读(5922) 评论(13) 推荐(11) 编辑
摘要: 虽然这部分内容并没有过多地讨论Apworks框架的使用,但这部分内容非常重要,它与Apworks框架本身的设计紧密相关,也是进一步了解Apworks框架设计的必修课。 单元测试与持续集成概述 在敏捷开发过程中,单元测试是非常重要的。这不同于传统的瀑布开发模型,在瀑布模型中,单元测试的重要性体现的并不明显,因为在这种模型中,“测试”被强调为整个开发流程中的一个环节,也会有专门的测试团队来负责测试... 阅读全文
posted @ 2014-04-14 22:14 dax.net 阅读(7396) 评论(17) 推荐(11) 编辑
摘要: 要使用Apworks进行应用程序开发,您需要安装Visual Studio 2012以上的版本(以下简称Visual Studio 2012+),从Apworks 2.5开始,需要Micrsoft.NET Framework 4.5的支持,因此强烈建议使用Visual Studio 2012+进行开发。 获取源代码 要获得最新版本的代码,请使用下面的命令获取: git clone https... 阅读全文
posted @ 2014-04-02 09:29 dax.net 阅读(8282) 评论(16) 推荐(10) 编辑
摘要: 简介 Apworks是一款基于Microsoft .NET的面向领域驱动的企业级应用程序开发框架,它适用于以领域模型为核心的企业级系统的开发和集成。Apworks不仅能够很好地支持经典的分层架构,而且还能支持基于事件驱动的命令查询职责分离(Command-Query Responsibility Segregation, CQRS)架构。 随着软件系统日趋复杂,构建一套可用的、稳定的、可扩展的... 阅读全文
posted @ 2014-04-01 20:52 dax.net 阅读(17390) 评论(26) 推荐(30) 编辑
摘要: 在Entity Framework Model First下, 一个非常常见的需求是改变数据库脚本的生成方式。这个应用场景是指,当用户在Designer上单击鼠标右键,然后选择Generate Database from Model选项,此时Entity Framework Model First会根据模型产生数据库SQL脚本,并将SQL脚本文件添加到解决方案资源管理器中。 事实上,这个自动化产... 阅读全文
posted @ 2014-02-09 19:13 dax.net 阅读(4573) 评论(5) 推荐(2) 编辑
摘要: 众所周知Visual Studio 2013中有一个由SignalR机制实现的Browser Link功能,意思是开发人员可以同时使用多个浏览器进行调试,当按下IDE中的Browser Link按钮后,开发中对页面的更改会同步到所有已连接的浏览器中。Browser Link按钮就是位于浏览器调试按钮右边的一个类似“刷新”的按钮:最近在开发apworks.org的新版本(之前因为供应商的问题导致网站全部瘫痪,我也一直没来得及修复,索性自己重新打造一个,顺便也验证Apworks框架的可用性),发现在使用syntaxhighlighter插件的页面上,以前没有问题的页面现在出现了如下错误:研究了很久 阅读全文
posted @ 2013-10-27 19:44 dax.net 阅读(6997) 评论(8) 推荐(4) 编辑
摘要: Microsoft Roslyn是微软.NET“编译器即服务(Compiler as a Service)”的主要产品,它提供了开放的编译器API,并为源代码产生、分析和重构提供了新一代的语言对象模型。Anders Hejlsberg在BUILD 2013大会上提到,C# 6.0的编译器将使用Roslyn实现,这一实现会包含在Visual Studio 2013之后的产品中。根据Anders的描述,C# 6.0的编译器将采用C#开发,从而告别现有的本机代码(native code)的实现方式,“虽然是采用C#来实现C#编译器,但我想性能至少不会比原来的实现方式差。”有关Roslyn的内容,可以 阅读全文
posted @ 2013-10-19 19:33 dax.net 阅读(5311) 评论(4) 推荐(6) 编辑
摘要: 最近在项目上遇到一个问题,需要能够在程序中获取Lync会议的链接地址。Lync是微软出品的一套即时通信(IM)客户端软件,配合Microsoft Lync Server使用,其前身是Microsoft Office Communicator(MOC)。与Live Messenger相比,Lync更适合企业内部使用,因为它还具备一定的与企业级应用组件进行整合的功能。在Microsoft Office 2010/2013中,Lync已成为Office中的一个套件。在企业内部使用Outlook和Lync的读者一定知道,Outlook中有一个Lync的插件,当启用了该插件后,即可在“日历”视图中通过单 阅读全文
posted @ 2013-08-11 12:55 dax.net 阅读(4231) 评论(9) 推荐(2) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 16 下一页