随笔分类 - [20]DesignAnalysis设计分析
-
Restful WebApi项目开发实践
摘要:Restful WebApi项目开发实践前言踩过了一段时间的坑,现总结一下,与大家分享,愿与大家一起讨论。Restful WebApi特点WebApi相较于Asp.Net MVC/WebForm开发的特点就是前后端完全分离,后端使用WebApi直接针对资源进行暴露,大部分的业务转移到前端进行。前端可... 阅读全文
-
架构随想
摘要:架构随想今天新加坡放假,闲来无事就发一篇博客:一则总结归纳项目构架经验,审视并逐步提高自己;再者分享最近学习所得,希望各位能讨论并给些建议。六月三十日从原来公司离职,七月一日入职新公司,不知不觉已经快一个月了。最近忙于学习新的行业知识以及项目的重构设计,没有时间发博客,也没有时间回复邮件及博文评论,... 阅读全文
-
前后端分离之Web前端架构设计
摘要:架构设计:前后端分离之Web前端架构设计 在前面的文章里我谈到了前后端分离的一些看法,这个看法是从宏观的角度来思考的,没有具体的落地实现,今天我将延续上篇文章的主题,从纯前端的架构设计角度谈谈前后端分离的一种具体实现方案,该方案和我原来设想有了很大的变化,但是核心思想没变,就是控制层是属于Web前端... 阅读全文
-
IOC容器在框架中的应用
摘要:IOC容器在框架中的应用前言 在上一篇我大致的介绍了这个系列所涉及到的知识点,在本篇我打算把IOC这一块单独提取出来讲,因为IOC容器在解除框架层与层之间的耦合有着不可磨灭的作用。当然在本系列前面的三篇中我也提供了一种基于反射的解耦方式,但是始终不是很优雅,运用到项目中显得别扭。目前,我所掌握的I... 阅读全文
-
多线程使用常识
摘要:多线程使用常识有一段时间没有更新博客了,最近半年都在着写书《.NET框架设计—大型企业级框架设计艺术》,很高兴这本书将于今年的10月份由图灵出版社出版,有关本书的具体介绍等书要出版的时候我在另写一篇文行做介绍。可以先透露一下,本书是博主多年来对应用框架学习的总结,里面包含了十几个重量级框架模式,这些... 阅读全文
-
《30天自制操作系统》实现中文显示
摘要:《30天自制操作系统》实现中文显示 《30天自制操作系统》最近一直再看,最近已经看到后面了,看到第28天,里面讲到可以实现对全角字符的支持,而原操作系统代码里面只是支持了日语显示,而中文版的这本书也只是讲了一个思路,具体的实现也是没有的。网上也好像没有人实现过这个吧,我是找不到。(由于书中每一章每... 阅读全文
-
DDD实践(一)
摘要:DDD实践切入点(一)前两篇:大型系统的支撑,应用系统开发思想的变迁 之前大致说了使用DDD的前期准备,现在可以真正开始实践了,以我刚刚结束的一个简单的经典DDD方式的项目为例子,当然由于比较简单,所以很多时候会脱离它来介绍一些额外情况,以及这些情况在《DDD》书上提到的解决办法,另外,说明一下,... 阅读全文
-
Value Object(值对象)如何使用 EF 进行正确映射
摘要:DDD 领域驱动设计-Value Object(值对象)如何使用 EF 进行正确映射写在前面首先,这篇博文是用博客园新发布的MarkDown编辑器编写的,这也是我第一次使用,语法也不是很熟悉,但我觉得应该会很爽,博文后面再记录下用过的感受,这边就不多说。阅读目录:上一篇回顾-设计误区值对象映射探讨走... 阅读全文
-
领域驱动设计(DDD)
摘要:领域驱动设计(DDD)实现之路2004年,当Eric Evans的那本《领域驱动设计——软件核心复杂性应对之道》(后文简称《领域驱动设计》)出版时,我还在念高中,接触到领域驱动设计(DDD)已经是8年后的事情了。那时,我正打算在软件开发之路上更进一步,经同事介绍,我开始接触DDD。我想,多数有经验的... 阅读全文
-
随需应变之网站的可扩展架构
摘要:随需应变之网站的可扩展架构一、可伸缩与可扩展—傻傻分不清楚 上篇笔记我们学习了可伸缩架构,但在实际场合中,包括许多架构师也常常混淆可伸缩和可扩展,用可扩展表示伸缩性。那么在此,跟随作者我们来理清这两个概念,避免我们以后对其傻傻分不清楚。 (1)扩展性(Extensibiltiy) 指对现有系统... 阅读全文
-
深入分析ENode的内部实现流程和关键地方的幂等设计
摘要:ENode 2.0 - 深入分析ENode的内部实现流程和关键地方的幂等设计前言ENode架构图ENode框架内部实现流程分析Command的幂等处理Domain Event持久化时的并发冲突检测和处理如何保证事件产生的顺序和被消费的顺序相同如何保证一个IDomainEvent只会被一个IEvent... 阅读全文
-
永无止境之网站的伸缩性架构
摘要:永无止境之网站的伸缩性架构此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力。在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地... 阅读全文
-
DDD 回归具体的业务场景,Domain Model 再再重新设计
摘要:DDD 回归具体的业务场景,Domain Model 再再重新设计首先,把最真挚的情感送与梅西,加油!写在前面 阅读目录:重申业务场景Domain Model 设计后记 上一篇《设计窘境:来自 Repository 的一丝线索,Domain Model 再重新设计》。 讲本篇内容之前,先回顾上... 阅读全文
-
高可用架构
摘要:高可用架构此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。一、可用性度量与考核 首先,不得不说:要保证一个网站永远完全可用几乎是一件不可能完成的任务(Mission Impossible,是不是有点碟中谍的感觉)。 (1)如何度量网站可用性? 一个神奇的数字—... 阅读全文
-
来自 Repository 的一丝线索,Domain Model 再重新设计
摘要:来自 Repository 的一丝线索,Domain Model 再重新设计写在前面 阅读目录:疑惑解读设计窘境一幅图的灵感为嘛还是你-Repository后记 上一篇《No zuo no die:DDD 应对具体业务场景,Domain Model 重新设计》。 希望本篇博文废话少点,注:上一... 阅读全文
-
BrnShop:自定义插件
摘要:BrnShop开源网上商城第四讲:自定义插件重要通知:BrnShop企业版NOSQL设计(基于Redis)已经开源!源码内置于最新版的BrnShop中,感兴趣的园友可以去下载来看看。官网地址:www.brnshop.com。 好了现在进入今天的正题:自定义插件。上一讲中我们已经阐述了BrnShop... 阅读全文
-
DDD 应对具体业务场景,Domain Model 重新设计
摘要:DDD 应对具体业务场景,Domain Model 重新设计写在前面上联:no zuo no die why you try下联:no try no high give me five横批: let it go上联:no zuo no die why you cry下联:you try you di... 阅读全文
-
DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计?
摘要:DDD(领域驱动设计)应对具体业务场景,Domain Model(领域模型)到底如何设计?写在前面 阅读目录:迷雾森林找回自我开源地址后记 毫无疑问,领域驱动设计的核心是领域模型,领域模型的核心是实现业务逻辑,也就是说,在应对具体的业务场景的时候,实现业务逻辑是领域驱动设计最重要的一环,在写这篇... 阅读全文
-
Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?
摘要:Domain Model(领域模型) 和 EntityFramework 如何正确进行对象关系映射?写在前面 阅读目录:设计误区数据库已死枚举映射关联映射后记 在上一篇《一缕阳光:DDD(领域驱动设计)应对具体业务场景,如何聚焦 Domain Model(领域模型)?》博文中,探讨的是如何聚焦领... 阅读全文
-
ESB 设计
摘要:ESB 设计最近为公司完成了一个 ESB 的设计。下面简要说明一下具体的设计方案。企业 SOA 整体方案在前一篇《SOA、ESB、NServiceBus、云计算 总结》中说到,SOA 是面向服务的架构,其核心思想是把业务进行组件化,而业务组件的能力服务化。我们的整个 SOA 的设计分为两个层面:一个... 阅读全文