书评:域驱动设计

510页,于2004年出版。这本书对于一本技术书籍来说已经很老了,但是它的陈旧性非常好。 在我看来,它仅显示了几个不重要区域的年龄。 书中介绍的概念彻底改变了我作为开发人员的角色! 多次阅读它,并格外注意将其包含的所有知识内部化,这将是值得的。 为了真正理解这些概念并将它们集成在一起,您还应该在阅读本书的示例实施时构建一个项目。 我不能推荐这本书! 以下是我从阅读本书时获得的笔记,部分是每章的摘要,部分是我对内容的看法。 第1-3章 当以域驱动方式运行项目时,无处不在的语言是最重要的概念。 至关重要的是,必须使开发人员与领域专家进行交流。 一种方法是为领域专家构建原型以供评估。 核心学习内容是创建一个论坛,开发人员和领域专家可以在相互协作的同时互相学习以创建无所不在的语言。 开发人员擅长创建软件,但是该软件只能与对问题区域的理解一样好。 如果领域是复杂的,则在大多数情况下,领域专家会隐含一些知识,他们不容易交流,但是通过创建简单的原型并讨论领域模型,应该可以弥合这一差距。 使泛在语言与域模型保持同步是至关重要的。 如果一个改变,另一个也应该改变。 一个简单的例子:如果我们同意一个概念的名称,我们自然会在代码中为类名和变量使用该名称。 如果我们以后找到一个更好地描述该概念的名称,则必须更改代码以反映这一点。…

重新履行生日保证是无限的

去年,我建议我们大家都放弃“确定 ”,我承诺将100%投入我在Andela的工作。 今年,经过艰苦奋斗,我重申了这一承诺。 为什么? 嗯,这不仅仅是因为我相信使命,我的团队以及我们有机会影响技术工作和全球包容性的未来。 这不仅是因为我们取得了进步,而且是因为我必须进一步增加饥饿感。 我认为这在很大程度上是由于安德拉的文化,或更重要的是,我们都可以为安德拉的文化带来什么。 像许多初创公司一样,安德拉(Andela)具有少量核心价值。 与许多初创公司不同,我们既不宣扬它们,也不将它们放在一堵墙旁,以免被遗忘。 我们彼此挑战,以使这些价值观每天都能发挥作用。 我们经常不同意,辩论,互相纠缠,努力创造最好的结果。 这对每位Andela员工意味着什么,就是您必须将自己的意思带入我们的价值观,您必须带来自己对Andela的归属,这让我感到自豪,因为我再次信誓旦旦地承诺在这里工作100%是。 悠悠球 现在,在您批评我为我的初创公司进行无耻而自豪的写作(我希望对所有技术工作者的愿望)之前,请听我说一下。 我写这个不是为了招募,而是为了解释。 在Andela,我们有一个缩写YOYO,意为您拥有自己的自己。 因为我们认识到您在世界上投入的就是获得的回报,所以我们说YOYO! YOYO学习,YOYO文化。…

在OOP中与代表团会面

在上周开始学习Android的最后一周,我真的很难编写代码。 这么多的设计模式,最佳的编码实践,工厂方法都涉及很多事情,所以我真的在自己的编码技术上苦苦挣扎。 然后,在阅读了第一章后,我发现本书是第一本面向对象的分析和设计,这对我很有帮助。 所以我想为什么不只写一个总结。 因此,在OOP中编写出色代码的步骤如下: 第1步:首先让您的客户满意,即只能通过使软件正常工作才能做到。 步骤2:然后使您的代码灵活,即删除重复的代码。 步骤3:运用设计原则使您的代码可重用,即在需求变更时轻松进行补偿,并且您的模块可以在将来的软件中使用。 因此,让我再多品尝一下这种抽象; 应用步骤1: 在书中,他们解释了编写具有潜在问题的搜索工具的人的故事,即每次用户搜索返回null时。 因此,他们鼓励您首先创建用户需求的类图,然后尝试解决问题。 因此,在对搜索方法进行深入分析之后,这便是健全性检查的问题。 问题:以字符串形式存储的数据(以大写和小写字母形式)会导致复杂的字符串比较任务。 解决方案:他们曾经使用枚举类型来存储有关项目的信息; 枚举类型使您可以定义类型名称(例如Wood),然后定义该类型允许的一组值(例如COCOBOLO,SITKA和MAHOGANY)。 然后,您引用一个特定的值,例如:Wood.COCOBOLO。 这有助于他们完全删除字符串比较操作。…

自动化您的业务(第1部分)

1.简化业务流程中的沟通: 作为一家小公司,我相信您每天都会收到数百封电子邮件。 它们都与不同的主题相关,有些只是骗局消息,有些需要确定优先级。 你有什么行动计划? 谁来负责? 您是将这些全部存储在一张纸或几张便笺纸上,还是持有单独的文件以查看要执行的操作? 无论选择哪种方法,一件事都很清楚-不可能将需要做的所有事情都保留在脑海中。 您可能需要对内部和外部通信进行排序,分配角色和任务,检查其状态并安排时间。 如果您手动进行所有操作,则容易发生错误和重叠。 通过自动化工作流程,您可以实现一种简化的通信模式。 您为每个人创建了一个通用仪表板,所有请求,任务,有关它们处于哪个阶段以及需要完成什么的详细信息都保存在那里。 无需执行手动任务,也不必担心要做的事情和缺少的事情。 清楚地看到所有内容,就像在您的手掌上一样。 2.加强问责制: 使小型企业的工作流程自动化可以使您比其他企业拥有一项明显的资产:您有机会看到角色和职责。 这可以帮助您避免“这不是我的错”的混乱,因为角色的分布可以清楚地了解谁负责什么。 发起,批准,拒绝是输入,所有这些都约束于负责人或一组负责人。 通过在业务流程中实现该级别的信息透明性,您将自动提高对自己和同事的责任感。…