三层架构即:表现层、业务层、持久层。每一层完成即定的功能,层与层之间用接口做耦合。每一层的组件可以单独测试,当其中一个组件更换或修改后,不会影响别的层的组件。
持久层:用于完成数据库相关的操作。采用DAO模式,创建实体类和数据库表做映射,也就是哪个类对应哪个表,哪个属性对应哪个列。而持久层的目的就是完成对象数据和关系数据的转换。
业务层:用于业务处理。采用事务脚本模式。将一次请求中所有的业务封装成一个方法,保证方法中所有的数据库更新操作同时成功,同时失败。不允许部分成功,部分失败,这样引起数据混乱的情况发生。
表现层:采用MVC模式。M表示模型,就是实体类,用于数据的封装和数据的传输。V表示视图,用于展示数据和接收数据。C表示控制,用于调用业务组件,完成业务流程的控制
(Entity)业务实体,作用: 1.体现了面向对象的封装思想;2.贯穿于三层,在三层之间传递数据;3.对于初学者来说,可以这样说:一张表就应用一个实体;数据库里面的数据,在代码里面用尸体来进行封装;数据库里面的每一行数据,都可以对应一个实体bean;4.简化了我们传递数据的方式,传递数据可以是变量,如果参数太多,建议封装成实体bean; 开闭原则: 开闭原则是面向对象复用设计的一个模块; 表示一个软件在开发的过程中,对修改进行关闭,应该对软件对扩展功能进行开发,扩展功能前提在不改变原来代码的基础上; 依赖倒转 抽象不应该依赖于细节,换句话说我们要针对于接口进行编程,而不是实现类;1.高层模块不应该依赖于底层模块;2.抽象不应该依赖于细节(子类)3.细节应该依赖于抽象;模块间的依赖是通过抽象发生的,如:Driver d=new Driver(); 表示实现类和实现类发生了关系;在设计的过程中,实现类不应该依赖于实现类,应该依赖于接口;面向接口编程;优点:采用依赖倒转可以减少类于类之间的耦合性(类和类之间的依赖关系),提高系统的维护性;可以减少并行开发引起的风险; 三层架构: 优点: 1.结构清晰,耦合度低;2.可维护性增加,可扩展性增加;3.利于开发任务同步进行;适应需求变化; 缺点: 1.降低了系统的性能,分层越多,效率越低;2.增加了代码量和工作量;