本文讨论的是在web标准普及的形势下,网站程序员的定位以及如何与设计师配合开发符合web标准的网站项目。 [飞酷经典资源网]
本文适合的读者是传统TABLE布局下分工不是非常明晰的程序员。 Coffly.Com
1:学习web标准,让你的工作变得更加简单。
[飞酷经典资源网]
web标准是大势所趋,所以作为网站程序员。你必须洗脑,必须去学习web标准。去重新认识html标签,去了解如何让程序输出页面需要的代码。 Coffly.Com

Dim oHtml
set rs=server.createobject("adodb.recordset") [飞酷经典资源网]
Sql = "select top 10 id,Title From tbl_News order by id desc"
rs.open sql,conn,1,1 [飞酷经典资源网]
oHtml="<ul>"
do while not rs.eof [飞酷经典资源网]
oHtml=oHtml & "<li><a href=""shownews.asp?id=" & rs("id") & """ title=""" & rs("title") & """>" & rs("title") & "</a></li>"
[飞酷经典资源网]
rs.movenext [飞酷经典资源网]
loop Coffly.Com
oHtml=oHtml & "</ul>"
[飞酷经典资源网]
rs.close
[飞酷经典资源网]
set rs=nothing Coffly.Com
response.write (oHtml)
而如果是传统的TABLE布局下,程序员要写的HTML代码就会多很多,要写出TABLE、要判断什么时候输出TR来换行、要在每条新闻的前边加个一个IMG来输出小图标、要用程序去控制输出的标题长度。所有的工作都需要先出页面代码,程序员才能去写出这段程序。
对于程序员而言,你应该把web标准当成是一种福音,你应该把它当圣经一样去读,去了解页面代码到底需要什么,明白之后你就会发现。你比以前要轻松多了。由于web标准注重的是表现与内容相脱离,而程序只负责内容数据。从此你就不再需要考虑用程序代码如何控制隔行换色、一行分几列输出等等。你需要去做的,就是向页面输出最直接的内容,没有任何装饰的内容。 Coffly.Com
当然如果你是用.net开发的话,你就可以更彻底一点了。你可以完全将工作重点放在建立对象、类库、数据访问等,向表现层提供方法即可。下边的例子是我以前做项目的,应该有点参考价值。
2:网站程序员,别让HTML标签阻挡了你的视线。 Coffly.Com
如果你觉得你真的非常讨厌繁琐的HTML标签,而且自己的学习方向也不在网站的表现层,那你就和HTML标签彻底地说再见吧。
[飞酷经典资源网]
我曾经在传统桌面软件开发的公司工作,程序员都不会HTML,网站项目紧的时候又不得不让他们来帮忙。我们就拿着Visual Studio .Net 2003自带的几个例子仔细分析,按照面向对象的结构化分层开发模式,也能非常好的进行配合。以新闻模块的开发为例:
Coffly.Com
第一步:网站程序员可以按需求分析进行数据库设计,你可以负责建表、编写存储过程。这类的事情程序员都非常的熟悉。 [飞酷经典资源网]
第二步:定义对象。将网站的信息对象化,比如: Coffly.Com
Public Class News
Protected _id As Integer Coffly.Com
Protected _typeId As Integer
Coffly.Com
Protected _title As String [飞酷经典资源网]
Protected _author As String
[飞酷经典资源网]
Protected _original As String Coffly.Com
Protected _updateTime As DateTime [飞酷经典资源网]
Protected _content As String [飞酷经典资源网]
Protected _clickCount As Integer [飞酷经典资源网]
Public Property Id() As Integer Coffly.Com
Get [飞酷经典资源网]
Return _id Coffly.Com
End Get [飞酷经典资源网]
Set(ByVal Value As Integer)
[飞酷经典资源网]
_id = Value [飞酷经典资源网]
End Set
Coffly.Com
End Property [飞酷经典资源网]
Public Property TypeId() As Integer Coffly.Com
Get [飞酷经典资源网]
Return _typeId [飞酷经典资源网]
End Get Coffly.Com
Set(ByVal Value As Integer) Coffly.Com
_typeId = Value Coffly.Com
End Set Coffly.Com
End Property Coffly.Com
Public Property Title() As String
[飞酷经典资源网]
End Property
[飞酷经典资源网]
Public Property Author() As String
End Property Coffly.Com
Public Property original() As String Coffly.Com
End Property Coffly.Com
Public Property UpdateTime() As DateTime [飞酷经典资源网]
End Property
[飞酷经典资源网]
Public Property Content() As String
End Property Coffly.Com
Public Property ClickCount() As Integer
Coffly.Com
End Property [飞酷经典资源网]
End Class
[飞酷经典资源网]
就像这样,把网站里所有的表都试着对象化。然后再定义对象相关的记录集,上边定义的是单个的新闻对象,再定义一个新闻的记录集。 Coffly.Com
Public Class Newss [飞酷经典资源网]
...... [飞酷经典资源网]
End Class Coffly.Com
第三步:定义一套公共的数据访问方法。
定义一些操纵数据库、执行存储过程的公共方法。 Coffly.Com
第四步:编写基于对象的方法层。如: [飞酷经典资源网]
Public Function ReadNews(ByVal ID As Integer) As News [飞酷经典资源网]
End Function
函数返回的就是一个新闻对象。根据功能的需要,一般还会定义一些相关的函数,如:
'读取新闻列表 Coffly.Com
Public Function ReadNewss(ByVal newsType As eNewsType, ByVal nCount As Integer) As News Coffly.Com
End Function [飞酷经典资源网]
'增加一新闻
Coffly.Com
Public Function InsertNews(ByVal n As News) As Integer
[飞酷经典资源网]
End Function Coffly.Com
'更新一条新闻 [飞酷经典资源网]
Public Function UpdateNews(ByVal n As News) As Integer
Coffly.Com
End Function
删除一条新闻 [飞酷经典资源网]
Public Function DeleteNews(ByVal ID As Integer) As Integer
Coffly.Com
End Function
这样来做,网站开发可以分成对象层、数据访问层、方法层、表现层。而程序员则只需要提供表现层所需要的方法。这样一来,在表现层需要显示新闻列表时,页面设计师只需要用.net中的Repeater控件,如下代码: Coffly.Com
<asp:Repeater ID="topNewsList" runat="server" > Coffly.Com
<HeaderTemplate>
<ul>
Coffly.Com
</HeaderTemplate> Coffly.Com
<ItemTemplate> [飞酷经典资源网]
<li><a href="shownews.asp?id=<%#Container.DataItem("id")%>"><%#Container.DataItem("title")%></a></li> Coffly.Com
</ItemTemplate>
Coffly.Com
<FooterTemplate>
[飞酷经典资源网]
</ul>
Coffly.Com
</FooterTemplate> Coffly.Com
</asp:Repeater>
而在表现层的程序代码中我们只需要加上:
[飞酷经典资源网]
topNewsList.DataSource = New facade.newsFacade().ReadNewss(eNewsType, newsCount)
这样的话,程序员基本上可以与HTML完全脱离了。而且这样的话,整个项目组的成员都可以并行工作了。能非常明显地提高整个项目的开发效率。况且现在web2.0模式的兴起,对后台数据库开发提出了更高的要求。如豆瓣网、365Kit等网站,后台的数据库挖掘工作是非常复杂的。所以在分工明晰的今天,除了HTML代码,其它有很多更重要的工作等待网站程序员去做。 Coffly.Com
3:以用户为中心的设计,离不开前端开发工程师。
Coffly.Com
如果你觉得脱离了熟悉的HTML代码,你有点舍不得的话,不要紧。干脆将自己推到web技术的风口浪尖。做一个成产品设计关系密切的前台开发工程师。 [飞酷经典资源网]









