框架 软件开发越来越倚重框架的使用。框架可以缩短应用软件系统的开发周期,提高软件生产效率和质量。大大简化了开发。选择何种 框架、每个框架如何应用在在系统架构中是软件架构设计的重要环节。 框架的定义 在设计模式中,Gamma 等人为框架给出了一个明确定义:“框架(Framework)是一组协同工作的类 ...
分类:
编程语言 时间:
2018-05-13 11:55:05
阅读次数:
205
软件的质量问题往往表现为缺陷(bug),软件缺陷的产生主要有两个原因:软件产品的特点和开发过程。对于产品特点,用户往往描述的不是特别仔细,或有什么隐性的要求没有说,或有什么在这个领域公认的特点,而技术人员并不知道。而开发过程方面技术人员可能会使用一些不成熟的新技术而无法控制除此以外,设计文档不清楚, ...
分类:
其他好文 时间:
2018-04-09 21:04:33
阅读次数:
145
智能解忧AD 软件文档 1.《立项建议书》 1.引言(Introduction) 1.1目的(Purpose) 解决广大人民群众的困难,烦恼。获取每位登录用户的关键词,为他筛选出合适他的产品及广告。 1.2范围(Scope) 本文档只适应于软件立项。 1.3参考资料(References) 1.4相 ...
分类:
其他好文 时间:
2018-03-11 22:30:51
阅读次数:
270
==MVC,MVP和MVVM都是常见的软件架构设计模式,它通过分离关注点来改进代码的组织方式== MVC、MVP和MVVM的相同点和不同点 不同部分是C(Controller)、P(Presenter)、VM(View Model),而相同的部分则是MV(Model View) Model层用于封装 ...
分类:
Web程序 时间:
2018-02-24 21:57:45
阅读次数:
245
抽象方法一般有两个分解decomposition和组合composition,这两种方法的方向正好相反,分解是将整体分解为部分,而组合是将部分组合成整体。在软件架构设计和编码中,我们经常快速灵活使用这两种方法,比如将一个类分解为多个小类,将一个方法分解为多个方法,或者将几个类合成一个类一起调用,Go ...
分类:
其他好文 时间:
2018-01-08 21:06:44
阅读次数:
136
大会的主题是围绕云计算、大数据、人工智能在互联网时代的应用展开。演讲专家介绍的产品、方案和技术都是业界领先的。结合到实际应用中,我感觉有以下学习心得和体会: 技术学习方面: 重点是对企业级服务和架构设计技术方面进行了关注,对目前主流的大型互联网系统架构和企业级软件架构设计的几场演讲着重进行了学习。 ...
分类:
其他好文 时间:
2017-12-11 23:01:50
阅读次数:
165
缘起:受@萧田国 萧总邀请,上周五晚上在“高效运维1号群”内分享了《58同城数据库软件架构设计与实践》(这个topic今年在数据库大会上分享过),应组织方要求,发出纪要。 一、基本概念 二、数据库架构设计思路 (1)可用性 (2)读性能 (3)一致性 (4)扩展性 一、基本概念 概念一“单库” 概念... ...
分类:
数据库 时间:
2017-11-19 13:36:07
阅读次数:
276
1. 单一职责原则(Single Responsibility Principle - SRP) 原文:There should never be more than one reason for a class to change. 译文:永远不应该有多于一个原因来改变某个类。 理解:对于一个类而 ...
分类:
其他好文 时间:
2017-09-18 17:25:10
阅读次数:
128
分层架构 (Layered Architecture) 分层架构是最常见的架构,也被称为n层架构。多年以来,许多企业和公司都在他们的项目中使用这种架构,它已经几乎成为事实标准,因此被大多数架构师、开发者和软件设计者所熟知。比如MVC。 分层架构的一个特性就是 关注分离(separation of c ...
分类:
其他好文 时间:
2017-09-18 16:15:23
阅读次数:
2953
扩展性是指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力。 设计网站可扩展架构的核心思想是模块化,并在此基础上,降低模块间的耦合性,提供模块的复用性。模块通过分布式部署,独立的模块部署在独立的服务器上(集群)从物理上分离模块之间的耦合关系。 模块分布式部署以后具体聚合方式主要有分布式消息 ...
分类:
Web程序 时间:
2017-09-18 15:45:35
阅读次数:
427