记得进入Sun的面试的时候Leon就问了我Java如何实现多态。当时的答案是通过重载和继承,后者也就是动态绑定。今天看到PHP与MySQL5程序设计里面的关于PHP不支持方法重载的时候,再次引起我对“多态”这个概念的探究。首先,多态是面向对象方面的一个重要特性,它本不应该依赖于特定的编程语言。WIKI 中对Polymorphism的定义如下:
In simple terms, polymorphism is the ability of one type, A, to appear as and be used like another type, B. In strongly typed languages, this usually means that type A somehow derives from type B, or type A implements an interface that represents type B.
Operator Overloading the numerical operators +, -, /, * allow polymorphic treatment of the various numerical types integer, unsigned integer, float, decimal, etc; each of which have different ranges, bit patterns, and representations. Another common example is the use of the “+” operator which allows similar or polymorphic treatment of numbers (addition), strings (concatenation), and lists (attachment). This is a lesser used feature of polymorphism.
The primary usage of polymorphism in industry (object-oriented programming theory) is the ability of objects belonging to different types to respond to method, field, or property calls of the same name, each one according to an appropriate type-specific behavior. The programmer (and the program) does not have to know the exact type of the object in advance, and so the exact behavior is determined at run time (this is called late binding or dynamic binding).
从中我们可以看到,其实重载(override)并不是polymorphism,只是利于国人理解的一种解释。网上好多类似的讨论,一时也把我搞糊涂了,我特意去查了一下Thinking in Java,证实了以上的说法。总结一下就是继承是多态的基础,多态使得不同对象对同一条指令做出各自不同的响应。所以我当初的答案是不准确的,但是动态多态和静态多态的概念在C++教学中普遍使用,使得在在中文中多态又多了一层含义。
而PHP不支持方法重载的很大原因也在于PHP是弱类型语言,类型本身就可以自动变更,方法重载也就省了。
如下:
#container
Page container (usually a <div>)
- #branding
- Used for a header or banner to brand the site.
-
- #branding-logo
- Used for a site logo
-
- #branding-tagline
- Used for a strapline or tagline to define the site’s purpose
- #nav or #navigation
- Used to contain a navigation device
-
- #nav-main
- Main or primary navigation
-
- #nav-section
- Navigation to pages within the current site section
-
- #nav-external
- Navigation to pages outside the site
-
- #nav-supplementary or #nav-supp
- A supplementary list of links, perhaps in a footer. This can replace the common, but presentational #footer
-
- #nav-(whatever)
- A list of links named at a designer’s descretion
- #search
- Related to search interface and search results
-
- #search-input
- A search form
-
- #search-output
- Search results which could include a <div> or other markup including definition lists
- #content
- Used for content rather than for another purpose such as navigation
-
- #content-main
- The main content area
-
- #content-news
- News related content
-
- #content-(whatever)
- Could include any form of content, including #content-related, #content-quote etc.
- #siteinfo
- Used for various site related information
-
- #siteinfo-legal
- Copyright information etc.
-
- #siteinfo-credits
- Designer or other credits
E-commerce related
- #content-products
- An overall area containing products
-
- .products
- Referring to individual products
-
- .products-prices
- Prices, discounts, special offers etc.
-
- .products-description
- A summary or longer description of a product
-
- .products-review
- A customer review
-
- .products-(whatever)
- Could include any form of product related content
- 原文连接:
http://www.stuffandnonsense.co.uk/archives/whats_in_a_name_pt2.html
访问http://browsershots.org/ ,输入你要看的网站的网址,一段时间时候以后就会将您提供的网站的在特定操作系统和浏览器下的截图显示出来:
但是要注意的一点是该网站每天提供的服务数是有限的,同时需要一些时间的等待。
商业模式的概念
商业模式的概念化有很多版本。它们之间有着不同程度的相似和差异。Osterwalder (2004) 在综合了各种概念的共性的基础上,提出了一个包含九个要素的参考模型。这些要素包括:
价值主张(Value Proposition):即企业通过其产品和服务所能向消费者提供的价值。价值主张确认了企业对消费者的实用意义。
消费者目标群体(Target Customer Segments):即公司所瞄准的消费者群体。这些群体具有某些共性,从而使公司能够(针对这些共性)创造价值。定义消费者群体的过程也被称为市场划分(Market Segmentation)。
分销渠道(Distribution Channels):即公司用来接触消费者的各种途径。这里阐述了公司如何开拓市场。它涉及到公司的市场和分销策略。
客户关系(Customer Relationships):即公司同其消费者群体之间所建立的联系。我们所说的客户关系管理(Customer Relationship Management)即与此相关。
价值配置(Value Configurations):即资源和活动的配置。
核心能力(Core Capabilities):即公司执行其商业模式所需的能力和资格。
合作伙伴网络(Partner Network):即公司同其他公司之间为有效地提供价值并实现其商业化而形成的合作关系网络。这也描述了公司的商业联盟(Business Alliances)范围。
成本结构(Cost Structure):即所使用的工具和方法的货币描述。
收入模型(Revenue Model):即公司通过各种收入流(Revenue Flow)来创造财富的途径。
商业模式的设计是商业策略(Business Strategy)的一个组成部分。而将商业模式实施到公司的组织结构(包括机构设置、工作流和人力资源等)及系统(包括IT架构和生产线等)中去则是商业运作(Business Operations)的一部分。这里必须要清楚区分两个容易混淆的名词:业务建模(Business Modeling)通常指的是在操作层面上的业务流程设计(Business Process Design);而商业模式和商业模式设计指的则是在公司战略层面上对商业逻辑(Business Logic)的定义。
常见模式:
订阅模式(The subscription business model)
饵与钩模式(The razor and blades business model (bait and hook))
金字塔模式或层压式推销模式(The pyramid scheme business model)
多层式推销模式或传销模式(The multi-level marketing business model)
网络效应模式(The network effects business model)
垄断模式(The monopolistic business model)
直销模式(The cutting out the middleman model)
拍卖模式(The auction business model)
在线拍卖模式(The online auction business model)
水泥加鼠标模式(The bricks and clicks business model)
忠诚模式(The Loyalty business models)
集合模式(The Collective business models)
服务工业化模式(The industrialization of services business model)
产品服务化模式(The servitization of products business model)
低成本运送模式(The low-cost carrier business model)
在线内容模式(The online content business model
