- 设计模式是干什么的?
用设计模式使得程序更加的灵活,容易修改,并且易于复用
- 面向对象的三大特性?
通过封装、继承、多态把程序的耦合度降低
让业务逻辑与界面逻辑分开,让它们之间的耦合度下降。只有分离开,才容易达到容易维护或扩展
面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类
需求的变更是必然!所以开发者应该的是考虑如何让自己的程序更能适应变化,而不是抱怨客户的无理,客户不会管程序员加班时的汗水,也不相信程序员失业时的眼泪
『策略模式』定义了算法家族,分别封装起来,让它们之间可以互相替换, 此模式让算法的变化, 不会影响到使用算法的客户
封装变化点是我们面向对象的一种很重要的思维方式
最初的策略模式是有缺点的,客户端必须知道所有的策略类,并自行决定使用哪一个策略类。这就意味着客户端必须理解这些算法的区别,以便适时选择恰当的算法类。换言之,策略模式只适用于客户端知道所有的算法或行为的情况
依赖注入(Dependency Injection)
面向对象的四个好处:可维护、可扩展、可复用和灵活性好
强内聚、松耦合
单一职责原则,就是指就一个类而言,应该仅有一个引起它变化的原因
开放—封闭原则是说对扩展开放,对修改关闭。通俗的讲,就是我们在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展,换句话说就是,应当可以在不必修改源代码的情况下改变这个模块的行为。比如内存不够只要插槽多就可以加,比如硬盘不够了,可以用移动硬盘等,PC的接口是有限的,所以扩展有限,软件系统设计得好,却可以无限的扩展
依赖倒转原则,原话解释是抽象不应该依赖细节,细节应该依赖于抽象。
迪米特法则(LoD)’ 也叫最少知识原则,简单的说,就是如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。迪米特法则还是在讲如何减少耦合的问题,类之间的耦合越弱,越有利于复用,一个处在弱耦合的类被修改,不会对有关系的类造成波及。也就是说,信息的隐藏促进了软件的复用。
门面模式要求一个子系统的外部与其内部的通信必须通过一个统一的门面(Facade)对象进行。门面模式提供一个高层次的接口,使得子系统更易于使用。
程序分层
所谓的三层开发,就是关于表现层、业务逻辑层和数据访问层的开发