第二周框架设计学习总结

编程语言经历了机器语言,汇编语言,高级语言三个阶段,也从面向机器编程过渡到接近人类思维的编程方式,从面向过程发展到面向对象,日益复杂的软件系统以及频繁的需求变更带来的挑战,也奠定了面向对象编程的优势所在。初期的软件系统设计的好坏也决定了系统后期维护成本。
软件设计的总体目标是为了达到高内聚,低耦合,这样的系统也就具备了以下优点:
1.可扩展性
2.健壮性
3.可移植
4.更简单
面向对象的四大特征(非面向对象语言也具备):
1.封装(隐藏实现细节,访问控制,接口)
2.继承(is-a关系,has-a关系(组合),实现复用)
3.多态(运行时动态绑定,面向接口,抽象编程,函数指针也可实现)
4.抽象
面向对象编程的核心在于利用多态。
面向对象分析目的在于将业务领域问题进行分析建立解决方案的对象模型。
方法论:充血模型及贫血模型,领域驱动设计。
设计原则及设计模式是指导软件开发,保证软件质量的试金石。
GoF23种设计模式分三大类:创建模式,行为模式,结构模式。
特定领域设计模式:并发编程模式等
框架用于构建某类应用的结构性的方案,某一领域解决方案。
比如消息中间件,缓存中间件,spring框架。
工具用于提高编码效率,使用前人已经造好的轮子。
设计原则:
1.开闭原则(OCP),对扩展开放,对修改关闭。
2.依赖倒置原则(DIP),高层依赖高层定义的抽象,低层实现抽象。
3.里式替换原则(LSP),任何父类对象可用子类对象替换,使用具体运行场景分析继承是否合理,组合优于继承。
4.单一职责原则(SRP),聚合相关联的功能,保证功能单一。
5.接口隔离原则(ISP),接口设计只考虑使用者需要的功能。
评论