本文共 1655 字,大约阅读时间需要 5 分钟。
OOP 的优点:
开发效率提高(重用性,活字印刷术) 便于维护(与问题域映射关系清楚) 容易扩展(接口编程)。 此处看到很多论坛上说的质量高,这个笔者不敢苟同,因为这个标准是什么,如果是性能,显然质量不高,如果是只维护扩展方面,不免与上面重复。 降低成本,此处指的人的上面,因为上面已经提到了开发效率,没必要重复。因为面向对象可以分解复杂的事物成简单的事物,而且对于性能要求一般不是bug型的,所以是个人培训下都能简单编码。(此处主要得益于针对接口编程的理念) 便于开发任务部署。因为面向对象的思想已经决定了一个项目可以由很多子组件组装起来。 OOP 缺点: 性能的流失,包括时间和空间(老话了,不过不是致命点,可以不断改善底层,而且随着硬件寻址能力的增强这方面的问题除非时间或者空间极端条件下,一般不用考虑。) 整体设计容易出现尾大不掉。对OOA要求颇高,若缺乏整体规划,很容易造成结构不合理,各部分关系失调。 局限到具体业务,无法从更高层面科学提取分析。 环境支持限制(这一点对于很多老IT人员才比较明显,对于近几年进入的人说,可能看着都没感觉,因为现在面向对象大行其道,整BIOS以及C的人已经很少了。)• 十大经典排序算法详细总结(含JAVA代码实现)
o 0、排序算法说明 o 1、冒泡排序(Bubble Sort) o 2、选择排序(Selection Sort) o 3、插入排序(Insertion Sort) o 4、希尔排序(Shell Sort) o 5、归并排序(Merge Sort) o 6、快速排序(Quick Sort) o 7、堆排序(Heap Sort) o 8、计数排序(Counting Sort) o 9、桶排序(Bucket Sort) o 10、基数排序(Radix Sort)MVC模式及其优缺点
一、MVC原理
MVC是一种程序开发设计模式,它实现了显示模块与功能模块的分离。提高了程序的可维护性、可移植性、可扩展性与可重用性,降低了程序的开发难度。它主要分模型、视图、控制器三层。
1、模型(model)它是应用程序的主体部分,主要包括业务逻辑模块和数据模块。模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性
2、视图(view) 用户与之交互的界面、在web中视图一般由jsp,html组成
3、控制器(controller)接收来自界面的请求 并交给模型进行处理 在这个过程中控制器不做任何处理只是起到了一个连接的作用
二、MVC的优点
1、降低代码耦合性。在MVC模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其他层中的代码。
2、有利于分工合作。在MVC模式中,由于按层把系统分开,那么就能更好的实现开发中的分工。网页设计人员可进行开发视图层中的JSP,而对业务熟悉的人员可开发业务层,而其他开发人员可开发控制层。
3、有利于组件的重用。如控制层可独立成一个能用的组件,表示层也可做成通用的操作界面。可以为一个模型在运行时同时建立和使用多个视图。
三、MVC的不足之处
1、增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
2、视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。
3、视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。
4、目前,一般高级的界面工具或构造器不支持模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成MVC使用的困难。
转载地址:http://qkegn.baihongyu.com/