2017系统架构设计师复习资料整理

系统架构设计师要学习的内容很多,为了方便大家,下面整理了一些关于系统架构设计师复习资料,希望对大家有所帮助!

2017系统架构设计师复习资料整理

  IOC技术应用

1) 我们看看我们常用的配置文件应用(对象级的反转)

2) 在设计模式中,我们已经习惯一种思维编程方式: 接口驱动

3) 其实就是javabean的思想,注入和发射思想

17.1.1 IOC的技术结构(面向技术经理和开发人员)

1) XML设置

2) 配置性能和对象还原

3) 反射机制应用方式反射的代价

4) 可配性(替代很多设计模式)

5) 减少硬性编码

DriverManagerDataSource

BasicDataSource

JndiObjectFactoryBean

  系统架构师对技术的把握

1)新技术的更新,关注点和深度不同(技术风险)

2)对公司技术实力和技术方向的正确把握

3)不追求最新、不能把架构风险轻易带入系统。注意前期对新技术的测试。

4)设计模式解决了设计可扩展性问题,并不等于解决了性能问题,性能问题要进行瓶颈测试,并对设计和性能的矛盾进行权衡。非功能性问题(并发、网络、事务、操作系统、安全、稳定性、性能)

5)设计原则

  系统架构师UML如何赋予实施,用到实处

1)要让UML指引项目的开发而不是一个装饰品.如何同步你的设计文档和需求文档、类变化

2)以CA用例为例

3)作为交流的一种工具,不需要繁杂的UML图。

4)各种UML图的实际设计应用

  系统架构师如何设计和使用ORM(具体由技术经理督促实施)

1)JDBC应用问题

2)持久化开发效率和应用效率的矛盾平衡

17系统架构师的框架另一个选择Spring(轻量级的选择)

1)时代的产物

2)集大成者,一个开发的骨架

  使用分页和惰性加载

在大多数情况下,您应该仅在需要时检索或显示数据。如果您的应用程序需要检索和显示大量信息,则 您应该考虑将数据分解到多个页面中,并且一次显示一页数据。这可以使用户界面具有更高的性能,因为它无须显示大量数据。此外,这可以提高应用程序的可用 性,因为用户不会同时面对大量数据,并且可以更加容易地导航以查找他或她需要的确切数据。例如,如果您的应用程序显示来自大型产品目录的产 品数据,则您可以按照字母顺序显示这些项,并且将所有以“A”开头的产品显示在一个页面上,将所有以“B”开头的`产品显示在下一个页面上。然后,您可以让 用户直接导航到适当的页面,以便他或她无须浏览所有页面就可以获得他或她需要的数据。以这种方式将数据分页还使您可以根据需要获取后台的数据。例如,您可能只需要获取第一页信息以便显示并且让用户与其进行交互。然后,您可以获取后台中的、已经准备好供用户使用的下一页数据。该技术在与数据缓存技术结合使用时可能特别有效。您 还可以通过使用惰性加载技术来提高智能客户端应用程序的性能。您无须立即加载可能在将来某个时刻需要的数据或资源,而是可以根据需要加载它们。您可以在构 建大型列表或树结构时使用惰性加载来提高用户界面的性能。在此情况下,您可以在用户需要看到数据时(例如,在用户展开树节点时)加载它。

  考虑应用程序操作环境

对应用程序的操作环境进行评估是很重要的,因为这可能对应用程序施加必须在您制定的性能目标中予以反映的约束。位于网络上的服务可能对您的应用程序施加性能约束。例如,您可能需要与您无法控制的 Web 服务进行交互。在这种情况下,需要确定该服务的性能,并且确定这是否将对客户端应用程序的性能产生影响。您 还应该确定任何相关服务和组件的性能如何随着时间的变化而变化。某些系统会经受相当稳定的使用,而其他系统则会在一天或一周的特定时间经受变动极大的使 用。这些区别可能在关键时间对应用程序的性能造成不利影响。例如,提供应用程序部署和更新服务的服务可能会在星期一早上 9 点缓慢响应,因为所有用户都在此时升级到应用程序的最新版本。另外,还需要准确地对所有相关系统和组件的性能进行建模,以便可以在严格模拟应用程序的实际部署环境的环境中测试您的应用程序。对于每个系统,您都应该确定性能概况以及最低、平均和最高性能特征。然后,您可以在定义应用程序的性能要求时根据需要使用该数据。您还应该仔细考虑用于运行应用程序的硬件。您将需要确定在处理器、内存、图形功能等方面的目标硬件配置,或者至少确定一个如果得不到满足则无法保证性能的最低配置。通常,应用程序的业务操作环境将规定一些更为苛刻的性能要求。例如,执行实时股票交易的应用程序将需要执行这些交易并及时显示所有相关数据。