暂无搜索历史
虽然软件并不会随着时间推移而磨损,但是硬件会,随即也需要对软件做相应改动。硬件更新换代是非常快的。
关于测试,总会有许多讨论,测试是系统一部分还是独立于系统之外?测试分为几种?单元测试和集成测试有什么不一样?质量检查测试,功能性测试,Cucumber 测试,T...
架构设计的任务就是找到高层策略和低层细节之间的架构边界,同时保持这些边界遵守依赖关系规则。所谓服务,本身只是一种比函数调用成本稍高的,分割应用程序行为的一种形式...
在所有系统中,总会有一个入口函数,负责创建,协调,监督其他组件的运转。我们通常成为Main函数,在静态编程语言中通常如此。
人们习惯将系统分为三个组件:UI,业务逻辑,和数据库。对于一些简单的系统来说,三个就够了,但是稍微复杂一点的系统组件就不止这三个了。
构建完整的架构边界是一件很耗费成本的事情,在这个过程中,需要为系统设计双向的多态接口,用于输入和输出的数据结构,以及管理相关依赖,以便于划分组件。这里会有大量的...
上一章节中,引入了展示器的概念(presenter)。它实际上是采用谦卑对象(humble object)模式的一种形式,这种设计模式可以帮助试别和保护系统架构...
虽然这些架构在细节上各有不同,但总体是相似的,它们都有一个共同的目标,按照不同的关注点对软件进行切割分层,并且至少有一层是只包含该软件的业务逻辑的,而用户接口,...
例如,一个住宅的设计图纸,我们一看到每个房间的作用,应该不会怀疑这是一个住宅。几乎整个建筑设计都在尖叫着告诉你:这是一个家。
如果我们要将应用程序,划分为业务逻辑,和插件两个部分。就必须仔细的了解业务逻辑是什么。
本质上所有软件系统就是一组策略语句的集合。每一段代码都是策略。软件架构设计的重点工作之一就是,将这些策略彼此分离,然后按照变更要求进行分组。其中变更原因,频率层...
跨边界调用是指边界的一侧,调用另一侧的函数,并传递数据的行为。构造合理的跨边界调用,需要我们对源码中的依赖进行管控。
软件架构设计是一门划分边界的艺术,其作用是将软件分割成各个组件,以达到约束边界两侧的依赖关系。
用例也叫使用案例。它描述系统如何响应外界请求,每个用例会提供一个或多个场景,告知用户如何使用交互。编写用例时,应当避免技术用语,要让用户都能看懂的语言。
首先软件架构师自身需要是程序员,并且必须一直坚持做一线程序员。软件架构师应该是能力最强的一群程序员,在承接编程任务时,还应该逐渐引导整个团队,向一个能够最大化生...
当我们第二天醒来,发现之前运行好的代码突然间不能工作了。这很有可能是因为别人修改了我们所依赖的组件。主要原因是多个程序员同时修改了同一个源代码文件导致的。在项目...
哪些类应该被组合在一起形成一个组件?很不幸的是,这个问题很重要,但我们通常会根据当下面临的情况临时拍脑门决定。
组件是软件的部署单元,是整个软件系统在部署过程中可以独立完成部署的最小实体。在静态语言中,体现在编译过后的二进制文件。在动态语言中,体验现在一组源代码文件。
依赖反转原则:(DIP :Dependency Inversion Principle)。
接口隔离原则:(ISP :Interface Segregation Principle)。
暂未填写公司和职称
暂未填写个人简介
暂未填写学校和专业