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

几点说明:
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句

作者: sj6071   发布时间: 2011-06-16


帮顶

作者: moduofanchen   发布时间: 2011-06-16

软件工程中有描述的几种开发模式:瀑布,原形.......

作者: flyerwing   发布时间: 2011-06-16

SP1234果然出名啊!!!

作者: qingYun1029   发布时间: 2011-06-16

小公司追求的是高效,成本低 速度快。。。其他的靠边站

作者: zhulong1111   发布时间: 2011-06-16

sqlhelper不如linq to sql,拖拖拉拉的就做好了

作者: truecoffeefox   发布时间: 2011-06-16

如果全是两个人做的话,我感觉还是蛮强的,从前台到后台,从网站的风格(设计就不说了,我感觉这些项目都没有什么设计的,我自己也在这样的公司做过。)

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

其实就LZ描述的这些来看,这只能算个很小的项目……

作者: qingYun1029   发布时间: 2011-06-16

基本没啥要求的就linq to sql,拖拉控件然后需要写代码也很方便
有时候有些需要验收,写点花里胡哨的报告的,就搬出平时一些框架套上,这个最好平时没事的时候准备好

作者: truecoffeefox   发布时间: 2011-06-16

另外新技术需要考虑到一个学习成本的问题

作者: sj6071   发布时间: 2011-06-16

首先从DB来说 
我有几点建议:

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

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

 最后从小型项目快速开发角度来建议你使用LINQ2SQL
 

作者: q107770540   发布时间: 2011-06-16

我觉得网站拿出来适合讨论一下技术点,比如,这个网站的实现考虑到了写什么问题啊???

比如,防止脚本攻击、防注入攻击、并发如何处理等。

作者: qingYun1029   发布时间: 2011-06-16

SP1234果然出名啊!!!

作者: Mockqi   发布时间: 2011-06-16