PHP码农进化史5
1.所有的数据都应该隐藏在所在的类的内部。
2.类的使用者必须依赖类的公共接口,但类不能依赖他的使用者。
3.尽量减少类协议中的消息。
4.实现所有类都理解的最基本的接口。(拷贝操作,包括深拷贝和浅拷贝),相等性判断,正确输出内容,从ASC2描述解析等等。
5.不把实现细节如防止公共代码的私有函数.放到类的共有接口中。如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代
码的私有函数。
6.不要以用户无法使用或不感兴趣的东西扰乱类的接口。
7.类之间应该0耦合关系。一个类要么和灵位一个类毫无关系,要么只使用另一个类的公有接口中操作。
8.类应该只表示一个关键抽象。其中的所有类对于同一类性子的变化应该是共同封闭的。一个变化若对一个包影响,则将对这个包中的所有类
都产生影响,而对其他的包不产生影响。
9.把相关的数据和行为集中放置。设计者应当留意那些通过get之类的操作从别的对象中获取数据的对象。这种类型的行为暗示着这条经验原
则被违反了。
10.不把不相关的信息放在一个类中。(即:互不沟通行为)。向着稳定的方向进行依赖。
11.确保为之建模的抽象概念是类,而不只是对象扮演的角色。
12.在水平方向上尽可能统一的分布系统功能,也即:按照设计,顶层类应当统一的共享工作。
13.在系统中不要创建全能类/对象。对名字包含Driver,Manager,System,Susysten的类要特别多加小心。规划一个接口而不只是实现一个接口
。
14.对公共接口中定义了大量访问方法的类多加小心。大量的访问方法意味着相关数据和行为没有集中存放。
15.对包含太多互不沟通的行为的类多加小心。这个问题的另一表现是在你的应用程序中的类的共有接口中创建了很多的get和set函数。
16.在由同用户界面交互的面向对象模型构成的应用程序中,模型不应该依赖于界面,界面则应当依赖于模型。
17.尽可能的按照现实世界建模我们常常为了遵守系统功能分布原则,避免全能类原则以及集中放置相关数据和行为的原则而违背这一原则。
.
18.从设计中去除不需要的类。一般来说,我们会把这个类降级成为属性。
19.去除系统外的类。系统外的类特点是,抽象的看到他们只往系统领域发送消息,但并不接受系统领域内其他类发出的消息。
20.不要把操作变成类。质疑任何名字是动词或者派生自动词的类,特别是只有一个有意义行为的类。考虑一下那个有意义的行为是否应当迁移到已经存在或者尚未发现的某个类中。
21.我们在创建应用程序的分�
相关文档:
如果只是一个数据库的话,我们一般习惯这样写:mysql_select_db("guestbook");
mysql_query('select * from users');
但是如果是连接多个mysql,有可能出现同名的数据库,或者数据库中出现同名的表,所以就必须用完整的形式了,如下代码:
<?php
$link1 = mysql_connect('localhost1','root','root');
mysql ......
在PHP.net的牛人回复中找到一个自动根据图片文件类型打开图片的PHP函数,很方便.
/**
*
* Loads a file based on its filetype and returns false if it fails.
*/
function imagecreatefromfile($path, $user_functions = false)
{
$info = @getimagesize($path);
if(!$info)
{ ......
//用这个header指令来解决URL重写产生的404 header
header('HTTP/1.1 200 OK');
// 页面没找到
header('HTTP/1.1 404 Not Found'); ......
今天又突然发现了一个技巧,就是PHP可以传值给js,如何做呢?
原来PHP的原理是这样的:
PHP的所有应用程序都是通过WEB服务器(如IIS或Apache)和PHP引擎程序解释执行完成的,工作过程:
(1)当用户在浏览器地址中输入要访问的PHP页面文件名,然后回车就会触发这个PHP请求,并将请求传送化支持PHP的WEB服务器。
(2)WEB服务� ......