240 投稿
收录了10篇文章 · 13人关注
  • No choice is a good choice

    愚蠢的实现各有各的蠢法,好的代码有相似的气质。比如说吧,在一个既有的函数里增加一个分支,写法包括 1. 敲一颗钉子进去 foo(){ ……...

  • 数据不应该被直接访问

    即便是使用c语言的嵌入式开发,也不应该直接用类似p->a.b的方式访问数据。这么做一方面意味着对数据缺乏抽象,毫无设计。另一方面意味着数据存...

  • 为什么选择DSL(下)

    软件和组织架构的一致性 先做一个小结,软件面临的核心问题是功能扩展时的成本(人力、时间、故障等综合考虑)。解决的基本思路,其一、引入各种软件设计...

  • 为什么选择DSL(中)

    好的代码 要说清楚DSL能带来什么,先要理解需要什么。一份好的代码,应该满足下述属性(重要程度递减) : 1.正确 它需要实现当前所需的功能,可...

  • Resize,w 360,h 240
    为什么选择DSL(上)

    DSL (domain specific language, 领域特定语言),简单的说,就是为某种特定的目的设计的一种与特定目的(业务本质)更加...

  • Resize,w 360,h 240
    什么是聚合根

    对领域概念做静态建模的时候,有一类概念被视为聚合根(root)。它有自己的生灭过程,数据和行为聚合于其上,有一个唯一的ID可以表征自己并且...

  • 软件设计如何落地

    二十年左右的时间,敏捷(agile)软件开发走完了从一小撮人的游戏到软件业内的某种政治正确的慢慢征途。agile成为了一个good- words...

  • Resize,w 360,h 240
    编程范式的演进:增加约束(读<Clean architecture >之二)

    目前为止只存在三种编程范式(可能也不会有第四种了),结构化编程、面向对象编程 和 函数式编程。 结构化编程基于严格的数学证明,只需要顺序...

  • Resize,w 360,h 240
    读架构整洁之道(提纲)

    最近读完<clean architecture>(by Robert C.Martin, 即uncle Bob),和笔者日常所见所思有些共鸣,打...

  • Resize,w 360,h 240
    软件的核心价值:长期演进(读<clean architecture>之一)

    <clean architecture>这书的第一部分算是老生常谈了,用一个匿名的case study说软件如何腐化进而大幅影响开发效率。软...

专题公告

架构,软件设计,通信,4/5G