当前位置:编程学习 > C#/ASP.NET >>

中小项目开发方式探讨!详见正文

几点说明:
1。小作坊,顶多1,2个人,甚至从需求到页面到代码一人全包那种,所以我这里所说的中小项目不大,但是说小也可能不小
2. 发文目的:追求编码高效:简洁 清晰 手工代码少 安全 ,性能还可以那种,以后碰到新项目能更快更好的完成
3。以下以新闻系统为例说说我的方法,望指出不当之处
4。主题是 中小项目[color=#00FF00]开发方式探讨[/color],我的理解,方式是开发过程中各种解决方案的总称,包括开发模式和框架,当然只是个人的理解
5. 本人才疏学浅,至今没用过什么框架和开发模式,所以才比较迷茫
6.纯技术讨论(还称得上技术的话),指出我的错误我十分欢迎,但是请不要无故人身攻击!

新闻系统:以下我如实的记录我做这个简单系统的绝大部分过程,希望指出我不足之处,谢谢!
简单起见,2个表:类别表 新闻表 
newsclass  类别表
          id        classname 
          自增主键   类别名
news     新闻表 
        id        title   addtime   content   num   classid
      自增主键   标题     加入时间   内容     点击数  类别id

一般情况下我的目录结构如下
  app_code
      sqlhelper.cs   数据库帮助类
      webmessage.cs   JS提示脚本类
      fenye.cs       分页函数类
  index.aspx
  list.aspx
  shownews.aspx
  admin   后台(暂不考录用户登录等权限问题)
    news_add.aspx
    news_manage.aspx
    news.edit.aspx
    ...
  
基本根据页面名称就知道页面干什么的了,不多解释

看了我的结构大家大体知道我怎么开发了
基本是调用sqlhelper来完成数据库操作,在每个页面的cs文件写代码,有时一些同样的操作会在APP_CODE里再加个
news类,里面包括增删改查和一些其他操作函数
分页不管是单表分页,还是多表联合查询都是用的分页类结合ASPNETPAGER(吴旗娃的)

数据显示用reperter,datalist之类的
然后一些操作会用到AJAX之类实现局部刷新,数据库操作语句一般用动软生成,再自己修改下。复杂的SQL语句自己手写

基本一个项目下来就是这样,只不过表多点,页面多点,工作量大点而已
---------------------------

但是我越来越发觉这种方式,怎么说呢。很无聊,很低效,但是又没好的办法,所以看看大家是怎么开发的,当然前提是我们是小作坊,什么三层结构根本不适合我(个人感觉,勿喷,),只是为了三层而三层,还不如我这种简单高效呢,我这种基本就是ADO.NET的操作方式把
mvc模式,最近刚学习,感觉大材小用了做我们这些小项目,但是我又没有好的方式去开发项目,所以说了这么一堆,不知道大家有没有同感,怎么提高自己,关键怎么找到一条适合我们自己的开发方式呢?

打完发现说的很乱,见谅。。。。真心求教!

欢迎SP1234等高手根据我的实际情况多说2句
--------------------编程问答--------------------
帮顶 --------------------编程问答-------------------- 软件工程中有描述的几种开发模式:瀑布,原形.......
--------------------编程问答-------------------- SP1234果然出名啊!!! --------------------编程问答-------------------- 小公司追求的是高效,成本低 速度快。。。其他的靠边站 --------------------编程问答-------------------- sqlhelper不如linq to sql,拖拖拉拉的就做好了 --------------------编程问答-------------------- 如果全是两个人做的话,我感觉还是蛮强的,从前台到后台,从网站的风格(设计就不说了,我感觉这些项目都没有什么设计的,我自己也在这样的公司做过。)

说一说缺点:
一:不好维护,其实这算不是缺点的缺点,因为小项目嘛,错了就改改,甚至可能连错误日志这类都没有。。
二:网站风格问题,客户体验问题……也是因为没有美工,我相信还是有点影响的。
三:……

其实就LZ描述的这些来看,这只能算个很小的项目…… --------------------编程问答-------------------- 基本没啥要求的就linq to sql,拖拉控件然后需要写代码也很方便
有时候有些需要验收,写点花里胡哨的报告的,就搬出平时一些框架套上,这个最好平时没事的时候准备好 --------------------编程问答-------------------- 另外新技术需要考虑到一个学习成本的问题 --------------------编程问答-------------------- 首先从DB来说 
我有几点建议:

1.建议每张表添加一个假删标志位  
2.点击数另开一张表 【后期如有数据统计 报表之类 将比较方便】
3.类别另开一张表  分类-新闻  多对多
4.新闻表 记录修改时间 修改人等信息  因为从需求来看  一个新闻不可能没有修改操作

 从项目角度来看 你用的 可以说是一层
 建议你将sqlhelp.cs之类的文件单独放一层 这就是所谓的DAL层
 项目分层 在开发速度上肯定没有你的一层快 但是对后期维护来说  要快速许多

 最后从小型项目快速开发角度来建议你使用LINQ2SQL
 
--------------------编程问答-------------------- 我觉得网站拿出来适合讨论一下技术点,比如,这个网站的实现考虑到了写什么问题啊???

比如,防止脚本攻击、防注入攻击、并发如何处理等。 --------------------编程问答-------------------- SP1234果然出名啊!!! --------------------编程问答--------------------   深有体会啊  ,我现在就是  公司  20+的人   15 个 业务,  3个美工, 我们2个程序员(包括我)  业务谈好, 美工负责做2个页面(首页和一个内页)。  剩下的全是我1个人。。。(数据库自己想 方法自己写,后台一系列 劝自己搞)。。 --------------------编程问答--------------------
引用 12 楼 libo0952 的回复:
深有体会啊 ,我现在就是 公司 20+的人 15 个 业务, 3个美工, 我们2个程序员(包括我) 业务谈好, 美工负责做2个页面(首页和一个内页)。 剩下的全是我1个人。。。(数据库自己想 方法自己写,后台一系列 劝自己搞)。。

这样挺好.呵呵.
可是大公司一般也这样,那时候只是为了养老总. --------------------编程问答--------------------
引用 12 楼 libo0952 的回复:
深有体会啊 ,我现在就是 公司 20+的人 15 个 业务, 3个美工, 我们2个程序员(包括我) 业务谈好, 美工负责做2个页面(首页和一个内页)。 剩下的全是我1个人。。。(数据库自己想 方法自己写,后台一系列 劝自己搞)。。

你们程序开发效率好高呀  --------------------编程问答--------------------
引用 12 楼 libo0952 的回复:
深有体会啊 ,我现在就是 公司 20+的人 15 个 业务, 3个美工, 我们2个程序员(包括我) 业务谈好, 美工负责做2个页面(首页和一个内页)。 剩下的全是我1个人。。。(数据库自己想 方法自己写,后台一系列 劝自己搞)。。

一个人能应付过来20个人 你也不是一般人了 --------------------编程问答-------------------- 唉   。没办法啊  工作难找啊  做了前台的页面 后台和数据库 都是 ctrl+c +   ctrl+V 的 
 个别功能的 改下。。  简单的1天  难的 话 就不好说了  3层 垃圾点的服务器 是不支持的 
  所以 现在 3层也不能用了 --------------------编程问答--------------------
引用 15 楼 c5662601 的回复:
引用 12 楼 libo0952 的回复:
深有体会啊 ,我现在就是 公司 20+的人 15 个 业务, 3个美工, 我们2个程序员(包括我) 业务谈好, 美工负责做2个页面(首页和一个内页)。 剩下的全是我1个人。。。(数据库自己想 方法自己写,后台一系列 劝自己搞)。。

一个人能应付过来20个人 你也不是一般人了
  业务 也不是天天都能接到单子的哥们 --------------------编程问答--------------------
引用 16 楼 libo0952 的回复:
唉 。没办法啊 工作难找啊 做了前台的页面 后台和数据库 都是 ctrl+c + ctrl+V 的 
 个别功能的 改下。。 简单的1天 难的 话 就不好说了 3层 垃圾点的服务器 是不支持的 
  所以 现在 3层也不能用了

你做的是企业站,需求基本没变化啊 --------------------编程问答--------------------
引用 18 楼 sj6071 的回复:
引用 16 楼 libo0952 的回复:
唉 。没办法啊 工作难找啊 做了前台的页面 后台和数据库 都是 ctrl+c + ctrl+V 的
个别功能的 改下。。 简单的1天 难的 话 就不好说了 3层 垃圾点的服务器 是不支持的
所以 现在 3层也不能用了

你做的是企业站,需求基本没变化啊
   哥们 你太了解我了   --------------------编程问答--------------------
引用 18 楼 sj6071 的回复:
引用 16 楼 libo0952 的回复:
唉 。没办法啊 工作难找啊 做了前台的页面 后台和数据库 都是 ctrl+c + ctrl+V 的
个别功能的 改下。。 简单的1天 难的 话 就不好说了 3层 垃圾点的服务器 是不支持的
所以 现在 3层也不能用了

你做的是企业站,需求基本没变化啊


zf的信息公开大部分也都一个样 --------------------编程问答-------------------- 太高深了,帮顶。 --------------------编程问答--------------------
引用 19 楼 libo0952 的回复:
引用 18 楼 sj6071 的回复:
引用 16 楼 libo0952 的回复:
唉 。没办法啊 工作难找啊 做了前台的页面 后台和数据库 都是 ctrl+c + ctrl+V 的
个别功能的 改下。。 简单的1天 难的 话 就不好说了 3层 垃圾点的服务器 是不支持的
所以 现在 3层也不能用了

你做的是企业站,需求基本没变化啊
哥们 你太了解我了

我说的项目都是有一定的业务功能的,不是简单的新闻发布那种啊 --------------------编程问答-------------------- --------------------编程问答-------------------- 许多公司的确是这样的啊,不但效率低,还搞的天天很忙,没时间处理其它事情。
试试我开发的连界面都能生成的.Net代码生成器吧,可以减轻你许多工作量。

http://blog.csdn.net/cwbugs/article/details/7268267

http://v.youku.com/v_show/id_XMzYxODgwMjMy.html --------------------编程问答-------------------- 从需求出发,从难点(当然是你的能力范围内)出发,从用户在1分钟耐心极限之内可以觉得“眼睛突然亮起来”的真正平台创意出发。其实方面的问题不可能经常在Csdn出现,因为大多数编程序的人都是满脑子以为自己编程时才是重要的,根本不能抬眼看看前边。 --------------------编程问答-------------------- 其实方面的问题不可能经常在Csdn出现  -->  其实这方面的问题不可能经常在Csdn出现

这些方面即好象是美术设计师的原型作品一样,它是将来产品的归宿,不可能当作一些基本的素质问题来讨论。 --------------------编程问答-------------------- 至少自己写个数据访问层,这样怎么说也减少20%以上的代码啊
再慢慢的重构和积累业务逻辑的话,经历3-5个项目,起码也可以减少80%的代码了 --------------------编程问答-------------------- 这样的话你们才有精力去真正的"设计"软件,而不是堆砌CURD代码 --------------------编程问答-------------------- 所谓作坊,指的是生产手段的自动化程度落后,
即便是1-2个人,也可以是高度自动化的方式,
至少我知道一些所谓大公司,生产方式也是很落后的,
但是人家有钱去浪费人力资源,他们的项目标的可以上千万,上亿,有巨大的利润空间 --------------------编程问答--------------------
引用 25 楼 sp1234 的回复:
从需求出发,从难点(当然是你的能力范围内)出发,从用户在1分钟耐心极限之内可以觉得“眼睛突然亮起来”的真正平台创意出发。其实方面的问题不可能经常在Csdn出现,因为大多数编程序的人都是满脑子以为自己编程时才是重要的,根本不能抬眼看看前边。

有道理,编程的人感觉程序后台才是最重要的,但用户除了要求可以用外,更重要的是要用的方便,用的顺心,顺眼 --------------------编程问答-------------------- 您把问题想复杂了,
一句话的事
ui+ui+ui
这两天我们业务快死了,我替补,现在他们看到我就头疼,但是我所说的都是真理
我总结
客户不关心您的,接口,算法,结构,他们要的就是好用漂亮的ui+可以执行的垃圾
所以您的问题就是需要一个资深美工
您可以参考apple是怎么成功的 --------------------编程问答-------------------- 适合的就是好的 --------------------编程问答-------------------- 我说一句吧,你现在能力问题,就这样想的,再等你工作几年吧,慢慢项目多,经验丰富了,明白是怎么一回事了,你就自动往那方面发展了,因为他是最省力,特别在维护上,而客户的需求绝对性的老变动,也要求你在代码编写更规模,模式更合理,因为维护好痛苦
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,