面向对象

12.1放大镜效果(面向对象)

依然范特西╮ 提交于 2020-01-18 04:56:07
放大镜效果: 一.HTML: < ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http - equiv = "X-UA-Compatible" content = "ie=edge" > < title > Document < / title > < / head > < body > < script type = "module" > import ZoomMenu from "./js/ZoomMenu.js" ; // import CarouselMenu from "./js/CarouselMenu.js"; //小轮播图数组 var list = [ "a_icon.jpg" , "b_icon.jpg" , "c_icon.jpg" , "d_icon.jpg" , "e_icon.jpg" , "f_icon.jpg" , "g_icon.jpg" , "h_icon.jpg" , "i_icon.jpg" , "j_icon.jpg" ] //实例化ZoomMenu 传入数组 let

设计模式之刘伟老师文章学习记录-------------面向对象原则概述

两盒软妹~` 提交于 2020-01-18 01:54:06
对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则 。面向对象设计原则也是我们用于评价一个设计模式的使用效果的重要指标之一,在设计模式的学习中,大家经常会看到诸如“XXX模式符合XXX原则”、“XXX模式违反了XXX原则”这样的语句。 最常见的7种面向对象设计原则如下表所示: 表1 7种常用的面向对象设计原则 设计原则名称 定 义 使用频率 单一职责原则 (Single Responsibility Principle, SRP) 一个类只负责一个功能领域中的相应职责 ★★★★☆ 开闭原则 (Open-Closed Principle, OCP) 软件实体应对扩展开放,而对修改关闭 ★★★★★ 里氏代换原则 (Liskov Substitution Principle, LSP) 所有引用基类对象的地方能够透明地使用其子类的对象 ★★★★★ 依赖倒转原则 (Dependence Inversion

面向对象设计原则-概述

强颜欢笑 提交于 2020-01-18 01:53:18
  对于面向对象软件系统的设计而言,在支持可维护性的同时,提高系统的可复用性是一个至关重要的问题,如何同时提高一个软件系统的可维护性和可复用性是面向对象设计需要解决的核心问题之一。在面向对象设计中,可维护性的复用是以设计原则为基础的。每一个原则都蕴含一些面向对象设计的思想,可以从不同的角度提升一个软件结构的设计水平。 面向对象设计原则为支持可维护性复用而诞生,这些原则蕴含在很多设计模式中,它们是从许多设计方案中总结出的指导性原则 。面向对象设计原则也是我们用于评价一个设计模式的使用效果的重要指标之一,在设计模式的学习中,大家经常会看到诸如“XXX模式符合XXX原则”、“XXX模式违反了XXX原则”这样的语句。 最常见的7种面向对象设计原则如下表所示: 表1 7种常用的面向对象设计原则 设计原则名称 定 义 使用频率 单一职责原则 (Single Responsibility Principle, SRP) 一个类只负责一个功能领域中的相应职责 ★★★★☆ 开闭原则 (Open-Closed Principle, OCP) 软件实体应对扩展开放,而对修改关闭 ★★★★★ 里氏代换原则 (Liskov Substitution Principle, LSP) 所有引用基类对象的地方能够透明地使用其子类的对象 ★★★★★ 依赖倒转原则 (Dependence Inversion

从此重构

最后都变了- 提交于 2020-01-16 07:23:08
从此重构 设计是如此重要,那么开发者的基本设计能力与素质又从何下手来培养呢? 最好的办法,就是请个老师。从框架中了解,从系统中实现,从书文中汲取。然而,设计能力的提升绝非一朝一夕之功,软件开发中的设计大师,往往必须具备多年的修行方可称之为“架构师”。 一个在简历中轻描淡写的“ 10 年软件设计经验”,并非是所有软件人都能修炼成的真功夫,这里没有任何虚情假意可言。在一个项目的实现过程中,逐渐了解什么是对象、什么是对抽象编程、设计模式是如何应用在实际的系统架构、设计原则到底是什么秘密武器,而重要的是完成一个软件项目,对于更多人来说是认识一种软件开发的科学流程。这种体验,才是难能可贵的经验。在设计的广义概念里,几个必需的概念是应该首先被了解和认知的,以排名不分先后的原则罗列,它们大概包括: · 面向对象 ( Object-Oriented ),关于面向对象没有必要重复嚼舌了,本书的第 1 章“ OO 大智慧”中对 .NET 的面向对象进行了有别于其他专著的介绍,除了以实例突出面向对象之思想大成,还以浓墨铺陈了 .NET 是如何在底层技术上来实现继承、多态和接口映射等机制,从而使读者可以更加有效和深刻地把握面向对象之精髓。 · 面向服务 ( Service Oriented ), SO 至少是个时髦的话题, WCF 伴着 .NET 3.5 的发布,一个一统江湖的面向服务的基础架构横空出世

面向对象的六大原则

淺唱寂寞╮ 提交于 2020-01-15 03:39:22
个人博客 http://www.milovetingting.cn 面向对象的六大原则 单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。 开闭原则 软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。 遵循开闭原则的重要手段是通过抽象。 里氏替换原则 所有引用基类的地方必须能透明地使用其子类的对象。 依赖倒置原则 高层模块不应该依赖低层模块,两者都应该依赖其抽象 抽象不应该依赖细节 细节应该依赖抽象 接口隔离原则 类之间的依赖应该建立在最小的接口上。 迪米特原则 一个类应该对其他对象有最少的了解。 来源: CSDN 作者: milovetingting 链接: https://blog.csdn.net/milovetingting/article/details/103927890

php面向对象之Trait

一曲冷凌霜 提交于 2020-01-14 02:30:38
自 PHP 5.4.0 起,PHP 实现了一种代码复用的方法,称为 trait。 Trait为了减少单继承代码的限制,为了可以复用代码。 在laravel框架使用中,会发现trait使用较多 <?php trait color { public function red ( ) { return "red" ; } function yellow ( ) { } static function blue ( ) { return "blue" ; } } class useColor { //使用该类 use color ; } echo useColor : : blue ( ) ; ?> 优先级: 从基类继承的成员会被 trait 插入的成员所覆盖。优先顺序是来自当前类的成员覆盖了 trait 的方法,而 trait 则覆盖了被继承的方法。 多个trait: trait color { public function red ( ) { return "red" ; } function yellow ( ) { } static function blue ( ) { return "blue" ; } } trait font { public function font_24 ( ) { return "该字体号是24px" ; } } class useColor {

面向对象和面向过程的区别

早过忘川 提交于 2020-01-11 01:51:10
#面向过程 面向过程性能比面向对象的高,因为类调用需要实例化,开销比较大,比较消耗资源,面向过程没有面向对象易维护,易复用,易扩展。 #面向对象 面向对象易维护,易复用,易扩展。因为面向对象有,封装,继承,多态等特性 。可以设计出低耦合的系统。使系统更加灵活,更加易于维护。但是面向对象性能低。 来源: CSDN 作者: 许小嵩 链接: https://blog.csdn.net/weixin_43993019/article/details/103846397

PHP 面向对象:PHP 实现类商品秒杀计时

丶灬走出姿态 提交于 2020-01-09 23:15:13
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 比如要做一个限时购物的功能,这就要做到倒计时,要有实时的倒计时。 要求要有小时分钟秒的实时倒计时的显示,用户端修改日期时间不会影响到倒计时的正常显示(也就是以服务器时间为准)。 其实这和很多的考试等系统的时间限制功能同样的要求。 总不能用ajax每秒都获取服务器时间吧,所以实时倒计时一定要用javascript实现。这很简单,网上一大把的例子。 现在问题是解决用户端修改日期时间对我们的显示的影响。 解决的办法是计算出用户端的时间和服务器的时间差,这样问题的完成解决了。 这样只需要运行一次php,实时倒计时的时间就和服务器的时间同步了。 理论是同步的,但实际测试会有1秒的误差。(具体原因就是和网速有关,网速越快,误差就越小),但这决不会影响到我们上面的要求了。 注:秒杀时间从早上点到晚上10点。 Code 如下: <?php //php的时间是以秒算。js的时间以毫秒算 date_default_timezone_set('PRC'); //date_default_timezone_set("Asia/Hong_Kong");//地区 //配置每天的活动时间段 $starttimestr = "08:00:00"; $endtimestr = "22:00:00"; $starttime = strtotime

CSharp面向对象设计模式纵横谈--面向对象设计模式与原则 听课笔记

大憨熊 提交于 2020-01-08 05:29:25
今天下午听了李建忠老师的WEBCAST<CSharp面向对象设计模式纵横谈--面向对象设计模式与原则 >,顺便记录了一些,基本就是PPT上的东西.趁现在还不能下载,也算是第一手的资料 : ) 讲的非常经典,但我水平还不够,需要慢慢体会...... 面向对象设计模式与原则 设计模式简介 1. 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心 。 2. 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案 . 3. 面向对象设计模式描述了面向对象设计过程中 , 特定场景下 , 类与相互通信的对象之间常见的组织关系 . 设计模式与面向对象 1. 面向对象设计模式解决的是 " 类与相互通信的对象之间的组织关系 , 包括它们的角色 , 职责 , 协作方式几个方面 ". 2. 面向对象设计模式是 " 好的面向对象设计 ", 所谓 " 好的面向对象设计 " 是那些可以满足 " 应 对变化 , 提高复用 " 的设计 . 3. 面向对象设计模式描述的是软件设计 , 因此它是独立于编程语言的,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达 . 4. 面向对象设计模式不像算法技巧可以照搬照用 , 它是建立在对 " 面向对象 " 纯熟 , 深入的理 解的基础上的经验性认识 . 掌握面向对象设计模式的前提是首先掌握 " 面向对象 "!

面向对象设计模式与原则

孤人 提交于 2020-01-08 00:09:38
本系列内容引用微软WebCast的“C#面向对象设计模式纵横谈”,讲师:李建忠 设计模式简介 每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。 ——Christopher Alexander 设计模式描述了软件设计过程中某一类常见问题的一般性的解决方案。 面向对象设计模式描述了面向对象设计过程中、特定场景下、类与相互通信的对象之间常见的组织关系。 GoF 23 种设计模式 历史性著作《设计模式:可复用面向对象软件的基础》一书中描述了23种经典面向对象设计模式。 GoF 23 种设计模式是学习面向对象设计模式的起点,而非终点 设计模式与面向对象 面向对象设计模式解决的是“类与相互通信的对象之间的组织关系,包括它们的角色、职责、协作方式几个方面。 面向对象设计模式是“好的面向对象设计”,所谓“好的面向对象设计”是那些可以满足“应对变化,提高复用”的设计。 面向对象设计模式描述的是软件设计,因此它是独立于编程语言的,但是面向对象设计模式的最终实现仍然要使用面向对象编程语言来表达,上它适用于支持.NET框架的所有.NET语言,如Visual Basic.NET、C++/CLI等 面向对象设计模式不像算法技巧,可以照搬照用,它是建立在对“面向对象”纯熟、深入的理解的基础上的经验性认识。掌握面向对象设计模式的前提是首先掌握“面向对象”! 从编程语言直观了解面向对象