第 15 章 Framework Design
15.1. 开发框架 Framework
选择一个好的开发框架,很重要。不过大部分框架都针对于软件开发,而我们要的是轻量级,适合高负载,灵活的框架。
框架的分类
- 本地框架HMVC,MTV
- 远程框架SOA/REST
- 混合框架
上面框架可以满足我们绝大多数需求,如URL定义,Session/Cookie管理,多语言国际化,数据库访问等等。
Java和.Net我没有太多的经验,php我有10+年经验,我在各种框架之间做比较发现CodeIgniter框架比较适合我们的需求。
框架是没有100%完美的,你仍需要对它进行二次开发。如果你有充足的时间,针对自身系统系统的特点设计一个更适合您网站的框架,这是最好的选择。
设计一个框架需要用到很多知识,需要有丰富的经验。目前主流框架都是基于MVC设计思想,要设计一个框架你必须了解MVC (Model-View-Controller) 参考:http://www.itisedu.com/phrase/200604231324325.html
开发一个框架包括那些重点呢,下面我把一些要点一一列出,然后一个个地突破,我这里使用php为例子,上面我已经说过语言只是工具,所以学习是设计思想,不要拘泥于语言:
JS封装(javascript)
模板(template)
url
session/cookie
语言包(language package)
编码(unicode)
数据库访问(database OR Mapping)
权限(Permission)
如果重新开发一个框架,我认为太现实,我的建议使用现有pear库,搭建一个MVC框架。例如:
Model(pear db)
View(smarty template)
Controller (pathinfo)
15.1.1. HMVC
Python web2py
Php CakePHP,Zend,CodeIgniter
Perl Catalyst
Java Struts,Spring MVC
ruby on rails
15.1.2. REST
Python Pylons
ruby on rails
15.1.3. SNA (Shared Nothing Architecture)
15.1.4. 其他
Python Django 是一个MTV框架
.Net Framework
原文出处:Netkiller 系列 手札
本文作者:陈景峯
转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。
第 15 章 Framework Design相关推荐
- Spring - Java/J2EE Application Framework 应用框架 第 15 章 EJB的存取和实现
第 15 章 EJB的存取和实现 作为轻量级的容器,Spring常常被认为是EJB的替代品.我们也相信,对于很多 (不一定是绝大多数)应用和用例,相对于通过EJB容器来实现相同的功能而言, Sping ...
- 一文弄懂元学习 (Meta Learing)(附代码实战)《繁凡的深度学习笔记》第 15 章 元学习详解 (上)万字中文综述
<繁凡的深度学习笔记>第 15 章 元学习详解 (上)万字中文综述(DL笔记整理系列) 3043331995@qq.com https://fanfansann.blog.csdn.net ...
- 第15章 MiniVGGNet:更深的CNNs
第15章 MiniVGGNet:更深的CNNs VGGNet(或简称为VGG),第一次在文献<Very Deep Learning Convolutional Neural Networks f ...
- 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-第15章-基于竞争关系的离散异构多智能体系统分组一致性
第14章 回到目录 第16章 第15章-基于竞争关系的离散异构多智能体系统分组一致性 15.1 引言 15.2 预备知识 15.3 问题描述与分析 15.4 例子与数值仿真 15.5 本章小结 15. ...
- 第15章 SpringBoot集成logging日志
第15章 SpringBoot集成logging日志 15.1 SLF4J与Logback简介 15.2 spring-boot-starter-logging 15.3 logback-spring ...
- 第三次作业:阅读《构建之法》1-5章有感
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/2178 阅读<构建之法>1-5章有感 第1章:概论 ...
- 第15章习题解答(一)——《x86汇编语言:从实模式到保护模式》读书笔记40
1. 第15章代码修改 先不说习题,说一说我对源码的修改.从运行结果来看,主要是增加了颜色支持.不过把我的代码与配书代码相比较的话,还是有很多不同的.这些修改是怎么来的,可以参考我之前的博文. 运行效 ...
- 复现经典:《统计学习方法》第15章 奇异值分解
第15章 奇异值分解 本文是李航老师的<统计学习方法>一书的代码复现.作者:黄海广 备注:代码都可以在github中下载.我将陆续将代码发布在公众号"机器学习初学者", ...
- 机器学习实战第15章pegasos算法原理剖析以及伪代码和算法的对应关系
Pegasos原文是: http://ttic.uchicago.edu/~nati/Publications/PegasosMPB.pdf 还是挺长的,论文结构是: 第1~6页:主要原理 第7~15 ...
最新文章
- RuntimeError: Expected object of device type cuda but got device type cpu for argument pytorch数据位置
- 从基础末尾:CSS适用教程
- DeeplabV3+ 在自己环境下跑出现的错误
- 如何使用用户数据脚本在EC2实例上安装Apache Web Server
- Java并发教程–锁定:内在锁
- 【转】JMeter学习(十七)JMeter测试Java
- 移动通信matlab实现,现代移动通信中的调制技术研究及Matlab实现
- linux低级格式化工具下载,Hard Disk Low Level Format Tool下载-硬盘低级格式化工具 v2.37 官方版 - 下载吧...
- Resource Hacker-资源替换工具
- Unity3D游戏开发入门引导:Unity3D收费方案和版本、下载地址、安装教程
- 让画面契合音乐节拍——BeatEdit
- Spss-多元回归案例实操
- springboot定制和关闭banner
- 用好这 28 个工具,开发效率爆涨|云效工程师指北
- Win10忘记登录密码,系统U盘/光盘轻松重置
- snv服务器备份方案
- VS2008的安装注意事项
- JDK1.7ConcurrentHashMap源码分析
- 一维数据二维化的办法汇总(二)
- JAVA中一些术语的中英文对照
热门文章
- java序列化和反序列化工具_Java 序列化和反序列化工具类并解决StreamCorruptedException问题 | 学步园...
- Science Robotics:仿生手臂的神经机器人感觉运动融合恢复自然行为
- letswave7中文教程2:脑电数据预处理-通道位置分配
- Gameplay 框架
- 又搜集一批项目源码,同样改改就能用
- 华人开发世界最小电池,直径细如灰尘,可集成在芯片上供电10小时
- 浪潮信息:企业互联网化下的数据平台升级 | 云·创课程实录
- 她15岁,上海高一女生,也是顶尖科学家论坛最年轻嘉宾
- 题解——洛谷 P2680 NOIP提高组 2015 运输计划
- JSOI2012-夏令营 Mar Maps