软件架构设计感悟

简介:

如果你要开一家能处理公司相关业务的公司。你将要面对如何设计这个公司的职能部门,定义工作岗位,业务如何通过这些职能部门进行处理的问题。如果是10人以内小公司,那无所谓。如果是上百人的公司,那么就得有详细的职能部门划分,有规范的业务办理流程。
软件的架构设计与设置一家公司的组织架构有异曲同工之处。

接口类,其实就是定义一个工作岗位。定义了这个岗位的职能范围。
每个类实例化的对象,其实都是这个工作岗位上的员工。

设置一个工作岗位之前,我们一定要想清楚这个岗位的职能范围。要给这个岗位命一个明确(一看就知道它的职能)的岗位名称。
这个岗位上的员工只能从事岗位职能范围内的工作。我们不能随意给这个岗位添加与这个岗位预想职能范围不符的职责。比如:“项目经理”,不能因为开发需发把编码的工作强加给它。职能范围要划清,什么该做,什么不该做,一定要明了。(单一法则)

社会很多关系都是上下级关系的。一个工作岗位上可能手下会有几个别的岗位。如:项目经理下可能会有软件组长、硬件组长、平台组长。而这些组长下,还会有其它岗位。(组合模式)

下属辞职必须要与上级解除上下级关系(人都走了,我怎么让他工作)。上级也可以为岗位招聘新员工(new成员变量)。如果上级被解职,那么其有义务辞掉(delete)其下属(不能不干事儿领空饷)。

上级可以向下级下达工作指令(直接调用)。下级属需要上级协助,那么可以向上汇报(发信号)。如果直属上级不能处理,可以接着向上汇报,直到被上级处理。(职责链)

一个良好的架构,有很明朗的业务流程规则。当我们在增添一个新的业务流程的时候,我们希望一眼就能找到最直接最正确的工作流程。而不是:“这样可以实现,那样也可以”。否则会让我们浪费大量的时间来犹豫,且最终不一定能选择到正确的实现方法。维护的人多了,各创一套,杂乱无章。

一个应用中,顶多只能有一个单例(应用实例本身)。所有的对象都应该在编制内。

想到的就这么多,欢迎指正。

目录
相关文章
|
5月前
|
开发者
从代码中汲取智慧——我的编程之旅与技术感悟
【9月更文挑战第24天】在数字世界的迷宫中,代码是指引我们前行的罗盘。它不仅仅是冷冰冰的指令集合,更是一扇窗,透过它,我们可以看到逻辑的严谨、问题的解决以及创新的火花。本文将分享我在编程旅途中的一些深刻体会,从最初的困惑与挫败,到逐渐掌握编程语言的乐趣,再到通过代码解决问题的成就感。我将探讨如何通过编程提升思维能力,以及编程对个人成长和职业发展的重要性。无论你是编程新手还是资深开发者,这段旅程都将启发你去思考和探索技术的深层次意义。
48 1
|
4月前
从代码到人生:技术感悟与生活哲学
【10月更文挑战第3天】在编程的世界里,每一行代码都承载着逻辑与创造力的火花。正如印度圣雄甘地所言,我们必须成为我们期望在世界上看到的改变。本文将通过技术感悟探讨如何在生活中实现自我提升和目标达成,同时提供实用的代码示例来说明理论与实践的结合之道。
|
5月前
|
设计模式 安全 C语言
软件工程师,全面思考问题很重要
软件工程师,全面思考问题很重要
66 9
|
6月前
|
算法 程序员
代码之舞:编程艺术与技术感悟
在数字世界的广阔舞台上,编程不仅是逻辑的堆砌与算法的运行,它更像是一场精心编排的舞蹈。本文将通过个人的技术旅程,探讨编程之美,揭示如何将枯燥的代码转变为优雅的解决方案,并分享在技术探索中收获的深刻感悟。
49 2
|
6月前
|
机器学习/深度学习 设计模式 开发框架
编程之舞:技术感悟与实践
在数字世界的舞台上,编程不仅是技术的展示,更是一种艺术的体现。本文将通过个人的技术旅程,探讨如何将编程从一项技能转变为一种创造性的实践。我们将一起探索代码背后的哲学,学习如何在解决复杂问题时保持创新和灵活性,并讨论持续学习的重要性以及它如何塑造我们的技术之路。
|
6月前
|
算法 程序员
代码之舞:编程艺术与实践感悟
在数字世界的舞台上,代码如同舞者的每一步,既是精确的科学,也是流动的艺术。本文将深入探讨编程背后的哲学和美学,通过个人的技术实践经历,揭示如何将创造性思维融入日常开发工作,提升代码质量,以及如何在解决问题的过程中找到乐趣和成就感。
|
8月前
|
程序员 数据库 uml
领域驱动设计-让程序员心中有码(九)
领域驱动设计-让程序员心中有码(九)
|
9月前
|
算法 程序员
代码与哲学:从技术实践中汲取智慧
【2月更文挑战第18天】 在数字世界的构建过程中,代码不仅仅是一种实现功能的工具,它更是连接现实与理想的桥梁。本文将探讨编程实践如何映射出深刻的哲学思考,揭示通过技术探索所能领悟的人生智慧。我们将透过代码的表象,深入其背后的逻辑结构,从而理解编程不仅是一种职业技能,更是一种对世界认知和自我修炼的方式。
70 7
|
文字识别 算法 NoSQL
读书分享:《程序员修炼之道:通向务实的最高境界》的思想经验
相较于全书众多的干货笔记,这篇文章是个别思想经验的总结,希望和大家交流。 ETC;DRY不仅限于编码;维护一个项目概念列表;帮助业务方理解他想要什么;防御性编程;继承税;学会沟通;小实验
读书分享:《程序员修炼之道:通向务实的最高境界》的思想经验
|
敏捷开发 监控 安全