随笔分类 -  其它 / 系统架构

上一页 1 ··· 8 9 10 11 12 13 下一页
摘要:前一篇说了标准的服务器架构方案,事实上,那是系统建立完成后的事情,在开发时,我们很少这种去设计,也没有必要这样去做,测试环境我们可以使用hosts这个文件来实现,我们可以把5个服务器放在一台电脑上,安装上IIS,然后分别建立站点,如 www.test.com www服务器 img.test.com 图像、脚本服务器 file.test.com 文件服务器 db.test.com... 阅读全文
posted @ 2011-09-14 15:16 张占岭 阅读(695) 评论(1) 推荐(1) 编辑
摘要:返回目录 问题是这样的,Department表是一个部门表,由DeptId,name和Father组成,它是一种树型的关系,一个部门下可以有多个子部门,同时,它有一个父部门,祖宗部门没有父部门。 以下是测试数据(相当于Data层里取出数据的方法): static List<Department> d 阅读全文
posted @ 2011-09-14 14:55 张占岭 阅读(1145) 评论(0) 推荐(0) 编辑
摘要:现在不少大型网站和应用程序都采用标准架构来进行开发,何为标准架构,标准架构有什么好处,今天我想说一下。 标准,说它是一种标准,也就是它其有一定的通用性,可以解决大部分问题,今天说的架构不是软件层次上的,而是硬件上的,主要是环境的搭建。 首先我们的开发环境为win2003+SQL2005+NET3.5 架构,然后我们再来看主要的服务器 一 WWW服务器,主要运行网站或B/s应用程序 二 数据库服务器,主要进行SQLSERVER的部署,进行数据的存取操作 三 图像、脚本服务器,主要存储样式文件,网站图像文件及JS脚本文件,它和前台页面效果工程师工作相关 四 文件服务器,用户上传的文件,... 阅读全文
posted @ 2011-09-13 18:15 张占岭 阅读(667) 评论(0) 推荐(2) 编辑
摘要:EF4.1已经推出有一段时间了,它给人的第一吸引力就是比LINQ TO SQL更加适合大型项目,它的封装更加紧密,操作也更加灵活,而且弥补了LINQ To SQL的最大不足,可以支持多种数据库。 EF4.1+ASP.NET MVC+JQuery 第一先说一下EF4.1: 我们数据层OR/Mapping采用EF4.1来实现数据的持久化 我们必须要对EF4.1进行一个封装,把对数据的操作限制... 阅读全文
posted @ 2011-09-09 12:38 张占岭 阅读(5896) 评论(13) 推荐(2) 编辑
摘要:例如:http://www.bobo.com?userid=axeidxls01wdcx(这个userid会有一个加密) 当某个用户发出一个邀请后,另一个用户通过这个链接进行网站后,为发这个链接的用户加10个积分。 实现方法: 建立一个用户附加表InviteUser_NewUser,结构如下: 然后跟着我的思路走: 用户接这个链接后 =》 进入网站宣传页,同时用sessi... 阅读全文
posted @ 2011-09-02 17:16 张占岭 阅读(640) 评论(0) 推荐(0) 编辑
摘要:抽象工厂是设计模块中创建型模式的一种,它比起工厂方法模式来说,更加具有一般性,在本模式中会引入一个产品族的概念,就是说,在本模式中抽象产品会有多个,然后用抽象工厂去调用它们,具体怎么去调用由具体工厂来实现。 看下列代码,主要实现动态生成按钮和弹出窗口的功能,弹出窗口可以根据浏览器的类型去调用适合 自己的方法,按钮也可以根据传入的样式和类型去自动生成按钮。 class Program ... 阅读全文
posted @ 2011-08-23 11:07 张占岭 阅读(507) 评论(0) 推荐(1) 编辑
摘要:事件是这样的,我的每个页面都有一些属性,我拿其中一个属性PageTitle为例,它是一个ArrayList 它是页面标题导航的意思,就是说它的标题用来存储一些标题导航,比如,产品列表页,它的PageTitle可能被解释为 我的网站 > 产品 > 产品列表,而其它页面的标题导航的表现形式也大同小异。 了解的领域模式之后,现在我们再来看程序的实现: #region 抽象产品 (Abst... 阅读全文
posted @ 2011-08-22 17:19 张占岭 阅读(518) 评论(2) 推荐(0) 编辑
摘要:我们知道枚举默认和int类型是可以直接强转换的,并不会出现任何错误,但对于其它类型来说, 有可能会有问题,比如,一个enum类型, 如下声明会有错误 enum ProductColumns { ProductId=1, . . . Status=4294967297, } OK,这样的话,程序会报错,因为它已经超过了int型的范围(int型其实就是Int32结构体类型,32表示最大存储的整型范围... 阅读全文
posted @ 2011-08-19 00:03 张占岭 阅读(1110) 评论(1) 推荐(1) 编辑
摘要:关键字是为了方便大家使用,而特意为.net拿出来直接使用的类型,如int,short,long,string,delegate及enum等类型都是关键字,现在说一下它们的原型(F2键,转到定义可以看到) int => public struct Int32 short => public struct Int16 long => public struct Int64 string => pub... 阅读全文
posted @ 2011-08-18 15:20 张占岭 阅读(391) 评论(0) 推荐(0) 编辑
摘要:这比通过使用的扩展方法来实现枚举描述要复杂一点,就是代码多了一点,原理很简单,就是定义一个枚举类型,然后定义一个字典,字典为<枚举,字符>,然后为它赋值即可,代码如下:namespace Entity.Commons{ public enum Status { Normal = 100, PendingApprove = 300, Deleted = 400, Blocked = 500, } /// <summary> /// 状态描述 /// </summary> public class StatusDescribe { /// <summary 阅读全文
posted @ 2011-08-17 10:49 张占岭 阅读(678) 评论(6) 推荐(0) 编辑
摘要:解除依赖就是松耦合,松耦合就一定好吗?当然不是程序的耦合度与内聚度要放在一起说,当然,对于领域层来说,适当的减少类与类之间的依赖是很有必要的,看下面我的这段代码 一个例子,一个订单系统,它根据国家有不同的下单方法,对于低层(DATA层)是一样的,但对于领域层,也叫业务逻辑层,它是不一样的,可能小日本下单打5拍,中国人下单不打折,我也是可以理解的,因为中国石油在对于中国人上是很吝啬的,而对于小日本则慷慨解囊。不多说了,看代码: /// <summary> /// 订单实体 /// </summary> class Order { } #region 传统作法,无有考 阅读全文
posted @ 2011-08-11 16:53 张占岭 阅读(571) 评论(3) 推荐(1) 编辑
摘要:(合理运用) 因为图像尺寸只有两个属性,宽和高,也没有什么更复杂的应用逻辑,所以用构结而不用类 (代码清晰) 对于一个类来说,如果它的属性对外部是不可写的,我们可以使用以下方法,如果对于一个类来 说,它的构造方法可以根据实际业务情况进行重载方法的设计,如下,如果建立实现zzl时,不 传递任何参数,它的默认值就是zzl,密码就是zzl123,这样设计的好处就是减少了用户实例化时 的代码量。 (结构清晰) 对于一个对象来说,如果它的内部功能需要与很多对象使用,那应该把它提升为一个抽象基类,把它只对子类开发的属性的访问权限控制为protected,把自己可以实现的并且子类可以去复写的方法设置为v 阅读全文
posted @ 2011-08-10 12:29 张占岭 阅读(1284) 评论(2) 推荐(0) 编辑
摘要:如果您的a.com.cn站点需要与b.com.cn站点共享cookies,一般满足这种要求的系统是为了做单点登陆的,现在我来讲一下实现方法: a.com.cn登陆后,写cookies,在b.com.cn里,登陆状态为已经登陆,即它们的cookies可以共享 在a.com.cn站里写cookies的同时,调用b.com.cn里的写cookies的方法,代码如下 <script type="text/javascript"> function CategoryRedirect(id, url) { location.href = "/Help/Catego 阅读全文
posted @ 2011-08-01 14:52 张占岭 阅读(1227) 评论(4) 推荐(0) 编辑
摘要:1: using System; 2: using System.Collections.Generic; 3: using System.Linq; 4: using System.Text; 5: using System.Data.Linq; 6: using System.Threading; 7: 8: namespace Data 9: { 10: /// <summary> 11: /// LINQ数据库连接对象制造工厂 12: /// </summary> 13: static internal class DataContextFactory 14: 阅读全文
posted @ 2011-07-28 22:41 张占岭 阅读(989) 评论(0) 推荐(0) 编辑
摘要:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Entity.Commons{ /// <summary> /// 自定义谓词 /// </summary> public class VPredication : IEnumerable<KeyValuePair<string, object>> { Dictionary<string, object> dicv = null; SpacePredic 阅读全文
posted @ 2011-07-28 22:30 张占岭 阅读(522) 评论(0) 推荐(0) 编辑
摘要:回到目录EF4.1学了有段时间了,没有静下来好好研究它的架构,今天有空正好把它的架构及数据操作这段拿出来,希望给大家带来帮助,对我自己也是一种总结:P从图中可以看到,我们用的是MVC3进行程序开发的,哈哈,也是刚开始用3.0,项目整体架构还是传统三层,其它公用层我就不说了,服务层和UI层也不说了,单... 阅读全文
posted @ 2011-07-22 16:19 张占岭 阅读(19121) 评论(15) 推荐(7) 编辑
摘要:Model:对于MVC来说,Model可不简单只是实体,它应该叫视图模型,这是我自己的理解,即视图中的数据由Model来提供,当视图的数据需要改变时,我们不用打开aspx或ascx文件,只需要修改相应的Model即可.我们要把Model看成是一个视图类,和界面有关的类,它内部的属性只和指定的页面有关,多于的属性则不需要.事实上MVC的实例已经说的很清楚了,仔细研究研究就会有一个很高的提高,理解它的意义,它的设计思路.不要把Model和Entity相混涤了,Entity是指与数据库对应的实体类,它与数据表一一对应,它可以通过一些代码生成器和entity framework生成工具和生成.看个例子 阅读全文
posted @ 2011-07-14 18:01 张占岭 阅读(11573) 评论(9) 推荐(0) 编辑
摘要:今天有点时间,来说说如何设计的实体类更加合理,灵活,规范.首先,那要和真实数据表一一对应,必要的话,可以对类型抽象化,可以引入枚举,泛型列表等类型;其次,对实体要集成它的数据有效性的验证功能;再次,为了数据操作方便,有必要去引入数据表字段的列举集合;综上所述,我们来设计一个用户表实体;本例中的知识点为:部分类,接口规范,Flag属性的枚举,迭代器等 /// <summary> /// 数据实体统一接口 /// </summary> public interface IDataEntity { } /// <summary> /// 用户实体 /// < 阅读全文
posted @ 2011-06-30 11:49 张占岭 阅读(1188) 评论(0) 推荐(0) 编辑
摘要:第一种,效率较高,也是很多开源项目用的方法,使用了贬型第二种,比较基础,安全性比较高,讲究面向接口的编程,我所以实体对象都继承自统一的接口 #region 数据底层操作架构一 /// <summary> /// 用户实体 /// </summary> public class User { public string UserName { get; set; } public int Age { get; set; } } public class UserRepository : IRepository<User> { #region IRepositor 阅读全文
posted @ 2011-06-29 17:17 张占岭 阅读(774) 评论(0) 推荐(0) 编辑
摘要:ASPX文件<table id="list"> <thead> <tr> <td> ID </td> <td> 用户名 </td> <td> 建立日期 </td> </tr> </thead> <tbody> <%foreach (var userbase in ModeluserBase) { %> <tr> <td> <%=userbase.UserID %> </td> 阅读全文
posted @ 2011-06-21 13:37 张占岭 阅读(625) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 下一页