03 2012 档案
摘要:Design Pattern很硬很难懂,但是它绝对是一个值得开发人员投资的项目。最大的好处是可以透过学习、理解Design Pattern,学习、理解到对象几大原则: - 单一职责原则 (SRP,Single Responsibility Principle) - 开放封闭原则 (OCP,Open Closed Principle) - 依赖倒置原则 (DIP,Dependency Inversion Principle) - 接口隔离原则 (ISP,Interface Segregation Principle) - Liskov替换原则 (LSP,Liskov Substitution P
阅读全文
摘要:撰写多线程对象时,执行速度是一项很重要的设计考虑。通常为了加快执行速度,会将执行运作逻辑的主线程,跟发出事件的事件线程做隔离设计。这样的隔离设计可以不让主线程,因为外部事件处理而停顿。而这样的设计下,为了简化线程管理,可以采用ThreadPool来完成事件线程的工作。简单的程序范例如下:namespace ConsoleApplication1{ class Program { static void Main(string[] args) { var obj = new ClassA(); obj.Notif...
阅读全文
摘要:接续...[Architecture Design] DDD经验分享 (中)系统设计阶段 (SD)「系统设计阶段」主要的工作是对设计完成的系统架构,做每个功能模块的对象设计。一般会采UML的「类别图」、「循序图」等等工具,来完成系统设计的工作。最终将设计完毕的解决方案,整理成一份「系统设计规格书」。如果说需求分析阶段是建立骨架,那么系统设计阶段就是填补血肉的工作。从系统分析阶段要跨到系统设计阶段,说真的也是一种无中生有的创造过程。只不过不同的是,系统分析阶段是整个系统架构无中生有,系统设计阶段是针对模块对象要无中生有。这时候领域模型就发挥了指引的功能。透过分析设计领域模型的方式,可以有限度的将
阅读全文
摘要:接续...[Architecture Design] DDD经验分享 (上)系统分析阶段 (SA)「系统分析阶段」主要的工作是对客户的需求内容,提出解决方案并且分析系统架构。一般会采UML的配置图、套件图等等工具,来完成系统分析的工作。最终将设计完毕的解决方案,整理成一份「系统需求规格书」。系统分析阶段要做的事很多很杂,甚至可以说是一种无中生有的创造过程。 经验不足的开发人员进入这个阶段,通常会不知所措。这时可以将系统分析阶段的工作,切割为不同角度来做分析设计,这也就是所谓的「视图方法」。透过视图方法去分析设计整个系统架构,决定系统架构所需要的软件分层、功能模块....等等。同时也以分析设计需
阅读全文
摘要:前言身为一个开发人员,应该会有听过「软件开发流程」、「领域驱动开发」等等,这些开发技术名词。但是...开发人员心底话,包含我自己都觉得:数据文件都写的跟天书一样,模模糊糊的、项目压力下赶工都来不及了,谁有空搞这些的东西。今天要来扭转这种印象,让开发人员搞懂「软件开发流程」、「领域驱动开发」这些开发技术。并且以自身的开发经验,说明这些开发技术该在哪用、怎么用。让项目的开发不再是无中生有,而是一个循序渐进的过程慢慢「长」出来的。*在文章开始之前,一定要先提一个最重要的重点:开发技术没有最好的只有最适合的。硬搬教条式的项目到自己团队中,让成员做的很累,这样一定不会长久。例如用来当作本篇文章议题内容的
阅读全文