`
jiajunde
  • 浏览: 169669 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

建立基本开发模式

阅读更多

开发软件必须拥有一定开发模式,目前软件开发流行采用OOP模式(Object Oriented Programming,面向对象的程序设计)。面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构。OOP 的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP 达到了软件工程的三个主要目标:重用性、灵活性和扩展性。

开发实例我们将采用 SNS (Social Networking Services,社会性网络服务)MINI版本作为演示,为了让大家快速适应PHP开发方法,其中40%以上代码采用oop模式。

  SNS:Social Network Software,社会性网络服务软件,依据六度理论,以认识朋友的朋友为基础,扩展自己的人脉。并且无限扩张自己的人脉,在需要的时候,可以随时获取一点,得到该人脉的帮助。

  SNS是一个采用分布式技术,通俗地说是采用P2P技术,构建的下一代基于个人的网络基础软件。SNS通过分布式软件编程,将现在分散在每个人的设备上的CPU、硬盘、带宽进行统筹安排,并赋予这些相对服务器来说很渺小的设备更强大的能力。这些能力包括:计算速度,通信速度,存储空间。

  社会性网络(社会网络,Social Networking:SN):是指个人之间的关系网络,这种基于社会网络关系系统思想的网站就是社会性网络网站(SNS网站)。现在许多WEB2.0网站都属于SNS网站,如网络聊天(IM)、交友、视频分享、博客、播客、网络社区、音乐共享等。社会性网络的理论基础源于六度理论(六度分隔理论,Six Degrees of Separation)和150法则(Rule Of 150)。另外不仅现在一些大公司网站开始了一些SNS应用,一些垂直领域的行业站点也开始了SNS的尝试,并且效果不错。

  SNS的技术起源:在互联网中,PC机、智能手机都没有强大的计算及带宽资源,它们依赖网站服务器,才能浏览发布信息。如果将每个设备的计算及带宽资源进行重新分配与共享,这些设备就有可能具备比那些服务器更为强大的能力。这就是分布计算理论诞生的根源,是SNS技术诞生的理论基础。

开发前我们需要让PHPER知道什么是MVC?
MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。

大部分Web应用程序都是用像ASP,PHP,或者CFML这样的过程化语言来创建的。它们将像数据库查询语句这样的数据层代码和像HTML这样的表示层代码混在一起。经验比较丰富的开发者会将数据从表示层分离开来,但这通常不是很容易做到的,它需要精心的计划和不断的尝试。MVC从根本上强制性的将它们分开。尽管构造MVC应用程序需要一些额外的工作,但是它给我们带来的好处是无庸质疑的。

  首先,最重要的一点是多个视图能共享一个模型,现在需要用越来越多的方式来访问你的应用程序。对此,其中一个解决之道是使用MVC,无论你的用户想要Flash界面或是 WAP 界面;用一个模型就能处理它们。由于你已经将数据和业务规则从表示层分开,所以你可以最大化的重用你的代码了。

  由于模型返回的数据没有进行格式化,所以同样的构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是它们也有可能要用Macromedia Flash和WAP来表示。模型也有状态管理和数据持久性处理的功能,例如,基于会话的购物车和电子商务过程也能被Flash网站或者无线联网的应用程序所重用。

  因为模型是自包含的,并且与控制器和视图相分离,所以很容易改变你的应用程序的数据层和业务规则。如果你想把你的数据库从MySQL移植到Oracle,或者改变你的基于RDBMS数据源到LDAP,只需改变你的模型即可。一旦你正确的实现了模型,不管你的数据来自数据库或是LDAP服务器,视图将会正确的显示它们。由于运用MVC的应用程序的三个部件是相互独立,改变其中一个不会影响其它两个,所以依据这种设计思想你能构造良好的松偶合的构件。

  对我来说,控制器的也提供了一个好处,就是可以使用控制器来联接不同的模型和视图去完成用户的需求,这样控制器可以为构造应用程序提供强有力的手段。给定一些可重用的模型和视图,控制器可以根据用户的需求选择模型进行处理,然后选择视图将处理结果显示给用户。

MVC流程图:


对于陌生的phper来说似乎一头雾水,不知道如何理解这个图,现在我们简单讲解下。

web程序开发的时候很多时候也要对开发目录进行设计,如果设计的合理后期将会大大节省维护时间、开发与升级都将受益。

我们本次开发采用单入口,就是通过一个控制器来操作整个网站。 架构图:

架构介绍先到这里,下课我们将实例开发。

  • 大小: 11.7 KB
  • 大小: 36 KB
分享到:
评论

相关推荐

    计算机开发模式的种类

    ### 计算机开发模式的种类 #### 快速原型模型 快速原型模型是一种软件开发方法,其核心在于快速构建一个可运行的软件原型,以此为基础进行后续的需求细化和技术探索。这种方法尤其适用于那些需求不完全明确或者需要...

    C++设计模式--基于Qt4开源跨平台开发框架

    首先,我们要理解设计模式的基本类型,包括创建型、结构型和行为型模式。创建型模式如单例模式(Singleton)、工厂模式(Factory Method)和抽象工厂模式(Abstract Factory),主要关注对象的创建过程,旨在减少类...

    大盘开发模式与新市镇开发模式探讨.pptx

    新市镇开发模式是城市扩张的一种形式,通常在城市周边或乡村地区建立,旨在促进城乡一体化,改善居民生活质量。这种模式的特点包括: 1. **功能多样性**:新市镇不仅提供住宅,还包含办公、商业、公共服务等多种...

    八种Docker容器开发模式.pdf

    在 Docker 容器开发模式中,Shared Base Container(s) 模式可以减少建立新容器的时间,提高开发效率,而 Shared Volume Dev Container 模式可以便于开发和 Testing,提高开发质量。这些模式可以帮助开发者更好地使用...

    敏捷软件开发:原则、模式与实践(全)

    接着,作者探讨了一系列敏捷开发模式,如Scrum、XP(极限编程)、Kanban等。Scrum是一种以产品待办事项列表、冲刺和日常站会为核心的框架,强调团队自我组织和跨职能协作。XP则注重编程实践,如结对编程、持续集成和...

    Java开发中的23种设计模式详解

    ### Java开发中的23种设计模式详解 #### 设计模式概览 设计模式是一种编码实践,它是基于前人的经验和智慧,被广泛接受的一种解决问题的方法。这些模式为软件开发者提供了标准化的解决方案,帮助他们构建出更加...

    设计模式实践-软件开发

    在软件开发过程中,基本的设计模式如General Responsibility Assignment Software Patterns (GRASP) 起到了至关重要的作用。这类模式主要关注于责任的分配、对象之间的通信以及对象可见性的建立。通过合理地分配职责...

    VC开发经典模式与实例.rar

    从第3章开始,结合开发实例,根据现代软件工程的相关理论与方法,详细分析了Visual C++在各种管理系统、图形图像、多媒体、串口通信、网络通信等方面的基本理论、实现原理、项目开发与编程方法。 本书附赠光盘中收录...

    用工厂模式开发多数据库连接类

    3. 数据库连接接口:`DBConnection`,包含建立连接、执行SQL、关闭连接等基本操作的抽象方法。 4. 具体数据库连接类:如`MySQLConnection`、`OracleConnection`,它们实现`DBConnection`接口,提供与特定数据库交互...

    八种Docker容器开发模式.docx

    本文将概述八种 Docker 容器开发模式,并对每种模式进行详细的分析和解释。 1. 共享基础容器(The Shared Base Container) Docker 鼓励继承,这是高效使用 Docker 的一个基本方式。通过继承,我们可以减少建立新...

    Java Web应用开发模式研究.pdf

    本文将深入探讨Java Web应用的基本概念、常用开发模式及其工作原理。 首先,Java Web应用是基于Java平台的Web应用程序,通常采用Browser/Server(B/S)架构,即浏览器/服务器结构。这种模式下,用户通过浏览器访问...

    嵌入式设备认识及开发模式

    ### 嵌入式设备认知与开发模式解析 #### 嵌入式设备基础与开发模式概览 嵌入式设备是指那些具有特定功能、专用于某一应用领域的小型计算机系统,广泛应用于消费电子、工业控制、医疗设备、汽车电子等领域。其核心...

    敏捷软件开发:原则、模式与实践(中文高清)

    通过阅读《敏捷软件开发:原则、模式与实践》高清版,读者不仅可以理解敏捷开发的基本理念,还能掌握具体的实施策略和工具,从而在实际工作中运用敏捷方法,提升项目成功率。这本书是每一位追求卓越的IT从业者不可或...

    大话软件项目管理之软件开发模式

    敏捷开发模式中的SCRUM是一个典型的敏捷开发框架,它通过短迭代周期(通常为1-4周)的Sprint来进行开发,每个Sprint结束都会产生一个可工作的软件版本,有助于持续交付价值。 文章通过一个生动的例子说明了项目管理...

    VC套接字阻塞模式开发

    本文将深入探讨“VC套接字阻塞模式开发”这一主题,基于描述中提到的资源,我们将理解如何在Visual C++环境下使用套接字进行阻塞模式通信。 套接字(Socket)是网络通信中的基本组件,它提供了进程间通信(IPC)的...

    重学java的设计模式

    这些模式有助于在不修改原有代码的基础上增加新的功能,或者在不同组件之间建立松散耦合。 1. 适配器模式:将两个不兼容的接口转换为可以协同工作的接口,常用于集成第三方库或旧系统。 2. 装饰器模式:动态地给...

    简单的c/s模式数据库开发

    通过学习这个资源,你将能够掌握C/S模式数据库应用的基本开发流程,从设计数据库结构,编写C#代码,到实现客户端和服务器端的通信。这是一个很好的起点,为进一步深入学习和开发更复杂的企业级应用打下基础。

    湘西少数民族非物质文化遗产开发利用的可行性与基本模式分析[整理].pdf

    综上所述,湘西少数民族非物质文化遗产的开发利用是完全可行的,关键在于找到合适的开发模式,平衡保护与商业利用的关系,同时充分利用现代技术和市场机制,让这些宝贵的文化遗产在新时代中焕发出新的生命力。

    Dreamweaver8网站开发基础视频教程开发环境的建立

    总之,“Dreamweaver8网站开发基础视频教程开发环境的建立”将引导你完成从安装环境到创建第一个网页的全过程,让你具备独立开发网站的基本技能。通过这个教程,你不仅能掌握Dreamweaver 8的核心功能,还能建立起对...

Global site tag (gtag.js) - Google Analytics