前言
命名、抽象、标识是通用设计结构的主要方面,这些设计结构能被用于构造可复用的面向对象设计。设计模式确定所包含的类和实例、它们的角色、协作方式以及职责分配。
每一种设计模式都重点关注一个特定的对象设计问题或者设计要点,描述何时使用它,在另一些约束条件下是否还能使用,以及使用的效果和利弊。由于我们最终要实现设计,设计模式还是提供了示例,代码来阐明其实现。
虽然设计模式描述的是面向对象设计,但是他们都是基于实际的解决方案。这些设计方案的实现语言是主流面向对象的编程语言。
more
设计模式的分类
创建型设计模式
创建型设计模式专注于处理对象创建机制,以适合给定情况下的方式来创建对象,创建对象的基本方法都可能导致项目复杂性增
继续阅读 »
「代码大全」一书谈到了抽象数据模型(ADT)的概念,以PHP的角度来看,平常最常见的类就是抽象数据模型的表现形式,很多人对面向对象编程还处在懵懵懂懂的阶段,经常什么方法都塞在一个类中,举个例子,我们有个字体的类,代码如下:
继续阅读 »
简介
俗话说,“PHP是世界上最好的语言”,因为PHP什么都能干。但是在PHP编程中,你是否会遇到这样的困惑:明明是相同的需求,但是之前写的代码却并不能重用,稍微修改不满足需求,大改又会让页面变样。
是的,由于PHP什么都能干,但是高度灵活性降低了代码的结构性。虽然可以利用三方框架来解决问题,但问题的根本在于缺乏设计模式。
本系列文章将由浅入深的介绍各种设计模式。
面向对象编程
面向对象编程,Object-Oriented Programming(OOP)作为最基本的设计模式并不是什么新鲜的话题,但是大部分新手的PHP编程都是在写流水账,各种拼接字符串,所以这里还是要提一下。
Object-Oriented Pro
继续阅读 »
content
{:toc}
记录一下阅读蝴蝶书的笔记,本篇为第一部分包含书中前三章内容:语法、对象和函数。
原书中第一章为精华,做了一些周边介绍,略去。
继续阅读 »
将近20年前,Javascript诞生的时候,只是一种简单的网页脚本语言。如果你忘了填写用户名,它就跳出一个警告。
如今,它变得几乎无所不能,从前端到后端,有着各种匪夷所思的用途。程序员用它完成越来越庞大的项目。
Javascript代码的复杂度也直线上升。单个网页包含10000行Javascript代码,早就司空见惯。2010年,一个工程师透露,Gmail的代码长度是443000行!
编写和维护如此复杂的代码,必须使用模块化策略。目前,业界的主流做法是采用"面向对象编程"。因此,Javascript如何实现面向对象编程,就成了一个热门课题。
麻烦的是,Javascipt语法不支持"类"(class),导致传统的面向
继续阅读 »
原文地址:[PHP设计模式(三):封装][1]
简介
面向对象编程中,一切都是对象,对一个对象的封装,也成了面向对象编程中必不可少的部分。
和C/C++,Java,Python等语言一样,PHP也支持封装。
封装/Encapsulation
对事物的封装是指,将事物进行抽象后,提供抽象概念的实现的具体方法。
听起来很拗口,还是举鲸鱼的例子。
对于鲸鱼来说,需要吃东西这个行为,吃本身是一个抽象的概念,因为具体到怎么吃,是咀嚼和消化的过程,甚至如何咀嚼和消化也是不可见的。对外部而言,可见的只是吃这一个接口,如何吃、怎么吃,是被封装在了鲸鱼的实现中。甚至可以说,消化系统,被封装到了鲸鱼这个对象中,对外部不可见,仅仅鲸鱼自
继续阅读 »
Java面试题收集整理
来源:骆昊 链接: blog.csdn.net/jackfrued/article/details/44921941
1、面向对象的特征有哪些方面
面向对象的特征主要有以下几个方面:
继续阅读 »
简介
对于编程来说,对事物的抽象是一个老生常谈的话题,抽象问题更利于面向对象编程以及程序设计模式。
和C/C++,Java,Python等语言一样,PHP也支持面向对象,但是又有略微区别,如PHP支持在接口中定义常量,但是不支持抽象变量。
抽象/Abstraction
对事物的抽象是指,区别两个不同事物之间的本质特征,这两个事物应该在某个视角上有明确的区分界限。
如,鲸鱼和鲤鱼,这两个事物在动物的视角上,有明确的区分界限,属于不同的动物;但是在水生动物的视角上,他们属于同一种动物的抽象。
合理的对问题进行抽象,构造模型,将更容易通过编程来解决问题。
记住:抽象是编程解决问题的基础,越复杂的问题,越需要一开始就对问
继续阅读 »
此文译自 Dmitry A. Soshnikov 的 JavaScript. The core..
本文是详解 ECMA-262-3 系列的概述和总结。每个部分都包含对应章节的连接,所以你可以阅读它们以获得更深入的了解。
目标阅读者:有经验的程序员,专业人士。
我们从对象的概念开始,这是 ECMAScript 的根本。
more
对象
ECMAScript 做为一个高度抽象的面向对象语言,是通过对象来交互的。即使 ECMAScript 里边也有基本类型,但是,当需要的时候,它们也会被转换成对象。
一个对象就是一个属性集合,并拥有一个独立的 prototype(原型)对象。这个 prototype 可以是一个对象或者 nu
继续阅读 »
一、技术概览
1、Core Data功能初窥
对于处理诸如对象生命周期管理、对象图管理等日常任务,Core Data框架提供了广泛且自动化的解决方案。它有以下特性。
对象图-Object Graph的解释:在面向对象编程中,对象之间有各种关系,例如对象直接引用另外的对象,或是通过引用链间接的引用其他对象,这些关系组成了网状的结构。我们把这些对象(和它们之间的联系)成为对象图。对象图可大可小,有繁有简。只包含单个字符串对象的数组就是一个简单的代表;而包含了application对象,引用windows、menus和相关视图对象、其他对象这样的结构就是复杂对象图的例子,这是在说mainwindow.xib。
继续阅读 »