河北师范大学软件体系结构期末复习[归纳].pdf
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
软件体系结构期末复习归纳 软件体系结构是一个复杂的系统,它涉及到软件设计、开发、测试和维护等多个方面。为了更好地理解和掌握软件体系结构,需要了解其基本概念、设计模式、原则和方法等。 一、软件设计模式 软件设计模式是一种通用的解决方案,它能够帮助开发者更好地设计和开发软件系统。常见的设计模式有单例模式、观察者模式、适配器模式等。 1. 单例模式 单例模式是一种创建型模式,它能够确保一个类只有一个实例,并提供一个全局访问点。单例模式的优点是能够避免多个实例的创建和销毁,提高系统的性能和效率。 例如,Form1.cs: ``` public partial class Form1 : Form { private void button1_Click(object sender, EventArgs e) { OtherForm tf = OtherForm.getOnly(); tf.Text = "this is other form"; tf.Show(); } } ``` OtherForm.cs: ``` public partial class OtherForm : Form { static OtherForm onlyone;// 静态变量 } ``` 2. 观察者模式 观察者模式是一种行为型模式,它能够使得一个对象的状态改变时,能够通知到其他相关的对象。观察者模式的优点是能够降低对象之间的耦合性,提高系统的灵活性和扩展性。 例如,Teacher.cs: ``` class Teacher : Subject { private string _phone; public string Phone { get { return _phone; } set { _phone = value; notifyObserver(); } } private ArrayList stuList; public Teacher() { stuList = new ArrayList(); } public void registerObserver(Observer o) { stuList.Add(o); } public void removeObserver(Observer o) { stuList.Remove(o); } public void notifyObserver() { for (int i = 0; i < stuList.Count; i++) ((Observer)stuList[i]).update(_phone); } } ``` Student.cs: ``` class Student : Observer { private string _name; public string Name { get { return _name; } set { _name = value; } } private string _tPhone; public string TPhone { get { return _tPhone; } set { _tPhone = value; } } public Student(string name) { this.Name = name; this.TPhone = ""; } public void update(object o) { this.TPhone = (string)o; } public void show() { Console.WriteLine("Name:" + Name + "\nTeacher's Phone:" + TPhone); } } ``` 3. 适配器模式 适配器模式是一种结构型模式,它能够使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的优点是能够提高系统的灵活性和扩展性。 例如,适配器模式的四种角色:目标,被适配者,适配者,客户端。 适配器模式分类:类的适配器模式(采用继承实现),对象适配器(采用对象组合实现)。 适配器模式实现步骤: a) 确定目标接口 b) 确定被适配者 c) 创建适配器(继承自被适配者,实现目标接口) 二、软件设计原则 软件设计原则是软件设计的基本原则,它能够指导软件设计的方向和思路。常见的软件设计原则有单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、接口隔离原则、合成复用原则、迪米特法则等。 1. 单一职责原则 单一职责原则是指一个类只负责一个功能领域中的相应职责。单一职责原则的优点是能够提高系统的灵活性和扩展性。 2. 开闭原则 开闭原则是指一个软件实体对扩展开放,对修改关闭。开闭原则的优点是能够提高系统的灵活性和扩展性。 3. 里氏代换原则 里氏代换原则是指在软件中如果能够使用基类对象,那么一定能够使用其子类对象。里氏代换原则的优点是能够提高系统的灵活性和扩展性。 4. 依赖倒转原则 依赖倒转原则是指抽象不应该依赖于细节,细节应该依赖于抽象。依赖倒转原则的优点是能够提高系统的灵活性和扩展性。 5. 接口隔离原则 接口隔离原则是指客户端不应该依赖于那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用。接口隔离原则的优点是能够提高系统的灵活性和扩展性。 6. 合成复用原则 合成复用原则是指复用时尽量使用对象组合,而不是继承。合成复用原则的优点是能够提高系统的灵活性和扩展性。 7. 迪米特法则 迪米特法则是指一个软件实体应当尽可能少的与其他实体发生相互作用。迪米特法则的优点是能够提高系统的灵活性和扩展性。 软件体系结构是一个复杂的系统,它涉及到软件设计、开发、测试和维护等多个方面。为了更好地理解和掌握软件体系结构,需要了解其基本概念、设计模式、原则和方法等。
- 粉丝: 7
- 资源: 14万+
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助