Web

设计模式学习总结(笔记)

我是那种非科班出身的程序员,很少完整阅读成本的技术类书籍,感觉很多书的内容都有太多罗嗦的地方。但是最近看到一本书《Guide to PHP Design Patterns》(中文名<PHP实际模式指南>)让我重温了久违的阅读享受。

这是一本系统介绍设计模式在PHP编程中应用的书,基本回答了两个问题:1、什么是设计模式,2、有哪些常用设计模式;还有一个附加问题:常用设计模式在 PHP中的具体实现。全书语言流畅,用例明晰,虽然看完后你会发现有一些设计模式其实你早已经无意识的使用了,但是它仍然会让你有顿悟的体会。

围绕这本书,我用了3天的时间研究了一下关于设计模式的一些概念,最后又用了2天来总结,就有了这篇文章。总结的主要目的是让自己更深刻的理解设计模式,也可以说是个全面一点的学习笔记,文字力求通俗,避免概念陷阱。

很多文字写的可能有点武断、大胆。肯定也会有些错误的认识,等到有更深刻的理解时再来完善把!

1 关于设计模式

设计模式可以理解为对开发中常见问题/需求的解决方案的高度抽象,这些问题/需求有具体的细节的,也有全局的结构性的。

在层次上,它应该是一个介于代码库和设计指导思想之间的一个东西,比代码库要抽象地多,比指导思想原则又要具体的多。

个人认为对于设计模式的学习应该是这样的一个目的,即“知道这件事情原来可以这样解决”,而不是“这件事情应该这样解决”。似乎还可以应验了“无招胜有招”这句经典武侠用语,你应该学习、理解这些设计模式,然后忘掉这些乱七八糟的东西。

当然,这些也许都是我无知无畏的狂妄。

(更多…)

Emeric lee
Web

CSS方式控制DIV页面内绝对居中的好办法

核心思路是,通过设置top和Left居中(50%),然后再用负的margin,实现DIV中心居中。 这段代码兼容性很好,代码简单,没用Tabel,没用JS,没用expression 不过总觉得现在CSS的系统设计上还有很多不合理的地方,简单页面设计用一下也可,但复杂的页面设计完全用CSS几乎不可能,而且标准化设计所推崇的表现和内容分离现阶段根本实现不了,往往为了实现表现上的设计还要去修改HTML文件;CSS只能作为补充,不可能取代。

进一步的解释:

1)首先通过设置left和top都为50%,这时div的左上角应该在显示区域的中心
css
top: 50%;   left: 50%;
2)然后根据div的宽和高,分别做1/2的偏移,这是通过margin来实现,实际使用中不一定1/2,你可以根据特殊需要调整.
css
margin: -200px auto auto -275px;
height: 400px; width: 550px;
3)div必须有确定的宽和高,只有这样才能计算出margin. 完整代码如下 (更多…)

Emeric lee