.NET设计模式:原型模式(Prototype Pattern)
概述
在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化?
意图
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
结构图
Prototype模式结构图
生活中
http://www.cyqdata.cn/cnblogs/article-detail-37627
15 个用户体验设计剖析
用户界面和用户体验(UI/UX)是任何产品成败的关键,尤其 Web,Web是一种公开的,可以被任何人随时随地访问的特殊产品,用户的体验几乎意味着一切,虽然内容更重要,但内容可以替代,体验却是独一无二的,本文分析了15个不同的 UI/UX 案例,优秀的用户体验给我们带来的启发是无价的。
内容滚动中的运动视差效果
Parallax scrolling 是让多层背景以不同的速度移动,形成运动视差
http://www.cyqdata.cn/cnblogs/article-detail-37622
十年学会程序设计
这里分享一篇 Peter Norvig的 《十年学会程序设计》 (Peter Norvig 系Google研究院主任、美国计算机协会(ACM)资深会员(Fellow))。全文如下:
十年学会程序设计
Peter Norvig (Copyright 2001)
原文网址
为何大家如此匆忙?
走进任何一家书店,你会看到书架上一排不见尽头的放着如 <7天自学Java
http://www.cyqdata.cn/cnblogs/article-detail-37608
WCF分布式开发步步为赢系列的(6):WCF服务契约继承与分解设计
上一节我们学习了WCF分布式开发步步为赢(5)服务契约与操作重载部分。今天我们来继续学习WCF服务契约继承和服务分解设计相关的知识点。WCF服务契约继承有何优势和缺点?实际项目里契约设计有什么原则和依据?面向对象的设计经验有何值得借鉴的地方?这里我们会一一给出详细的介绍。本文首先介绍的是WCF服务中契约继承的一些概念、例子代码分析,其次来讲解服务契约的设计问题。首先介绍的也是进行服务设计的必要性,
http://www.cyqdata.cn/cnblogs/article-detail-37605
盖座漂亮的“楼”–浅谈网页设计中的构图
网页给人最直观的感受就是它的页面框架与构造,就像一座大楼的主体框架与形态,你可能记不起东方明珠塔和艾菲尔铁塔是用什么颜色或什么材料涂的外墙,但我想你一定记得起它们的什么样的形状。同样,网页设计中的构图也足以影响到整个网站给人的感受,虽然比喻并不十分恰当,但就网页其构图而言,些许的改变和简单的创新也许就能起到事半功倍的效果,让网站给人的视觉感受耳目一新。
如何将网页这座楼盖的漂亮
http://www.cyqdata.cn/cnblogs/article-detail-37590
给年轻设计师的十大忠告
1:好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些。那么,就需要慎重安排自己的轨迹。从哪个行业入手,逐渐对该行业深入了解,不要频繁跳槽,特别是不要为了一点工资而转移阵地,从长远看,这点钱根本不算什么,当你对一个行业有那么几年的体会,以后钱根本不是问题。频繁地动荡不是上策,最后你对哪个行业都没有摸透,永远是新手! 2:
http://www.cyqdata.cn/cnblogs/article-detail-37588
Linq to SQL T4 代码生成器 (二)访问设计器中的 Table 对象
在上一篇文章中,介绍了如何访问 DataContext 对象,下面接着来讲解一下如何访问设计器中的表对象,并生成生体类代码。从 Northwind 数据库中拖一个表到设计器中。拖出来后,记得保存 dbml 文件,否则是无法访问到这个表的。 在这里拖的是 Catories 表,如下图所示:
我们可以通过访问 DataContext.Tables 来访拖放到设计器中的表。代码如下:
<
http://www.cyqdata.cn/cnblogs/article-detail-37573
通用权限管理设计 之 数据库结构设计
一,前言
权限管理系统的应用者应该有三种不同性质上的使用,
A,使用权限
B,分配权限
C,授权权限
本文只从《使用权限》和《分配权限》这两种应用层面分析,暂时不考虑《授权权限》这种。
二,初步分析
用户和角色
说到权限管理,首先应该想到,当然要设计一个用户表,一个权限表。这样就决定了一个人有什么样的权限。
做着做着就会发现这样设计太过繁琐,如果公司里面所有员
http://www.cyqdata.cn/cnblogs/article-detail-37528
非常有用的免费UI设计工具和资源
这篇文章要与大家分享的都是一些很棒的免费UI设计工具和资源,有Web开发方面的,也有移动开发方面的,非常丰富,相信你能从中发现有用的资源。记得推荐一下哦 :)
ALL In One Web Elements Kit
OSX Leopard GUI Set
iPad GUI PSD
Dojo
Massive Web UI & Button Set
Small GUI Pack
E
http://www.cyqdata.cn/cnblogs/article-detail-37487
《模式——工程化实现及扩展》(设计模式C# 版)《工厂方法模式》——“自我检验" 参考答案
转自:《模式——工程化实现及扩展》(设计模式C# 版) http://www.cnblogs.com/callwangxiang/ 请修改本章最后完成的那个比较适于工程应用的Factory<T>,使其支持含参数的构造函数 分析:1、本着OCP原则,我们不对原有Factory<T> 进行修改,而是通过继承对其进行扩展 2
http://www.cyqdata.cn/cnblogs/article-detail-37465
改善代码设计 —— 总结篇(Summary)
系列博客
1. 改善代码设计 —— 优化函数的构成(Composing Methods)
2. 改善代码设计 —— 优化物件之间的特性(Moving Features Between Objects)
&
http://www.cyqdata.cn/cnblogs/article-detail-37457
改善代码设计 —— 处理概括关系(Dealing with Generalization)
1. Pull Up Field (提升值域)
解释:
如果发现每个子类都拥有相同的某个值域, 那么使用 Pull Up Field 将这个值域提升到父类中去.
冲动前:
冲动后:
2. Pull Up Method (提升函数)
解释:
如果每个子类都有相同的某个
http://www.cyqdata.cn/cnblogs/article-detail-37444
企业信息开发平台(4)表单设计(上)
表单是应用程序与用户交互最直接的窗口,也是客户需求最直接的表现形式。所以表单无论是重新开发,或是修改,如果能很快的对客户做出响应,那么客户对公司的好感度将大大的提高(当然你如果是在IBM这样的大公司,那又不同了,不过一款好的工具也是必不可少的)。
在基于Visual Studi
http://www.cyqdata.cn/cnblogs/article-detail-37438
[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)
[推荐]ORACLE PL/SQL编程详解之一:
PL/SQL 程序设计简介(千里之行,始于足下)
——通过知识共享树立个人品牌。
继上六篇:
[顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)
http://www.cyqdata.cn/cnblogs/article-detail-37422
网站活跃用户统计的思路与设计
简单的讲,活跃用户就是:一段时间内,有多少登录用户访问了你的站点。这儿的时间段可以为:天,周,月。同时也可以细分到各个子站点。通过活跃用户,我们可以看出一个站点的受欢迎程度,毕竟一个站点做的好不好,最重要的标准还是:有多少人在用,以及他们是否喜欢你的站点。要统计活跃用户,首先就要记录用户的访问明细,可以有2种方式:1 每天从IIS日志里,提取不重复的用户ID列表2 通过js脚本的方式,往统计站点提
http://www.cyqdata.cn/cnblogs/article-detail-37418
分享100佳精美的作品集网站设计案例
一个精美的个人作品集网站是吸引更多客户的最好方式。如果你正在建设个人作品集网站或者想重新设计的话可以参考本文收集的这些示例,相信这些精美的网站作品会带给你灵感。同时,这些网站中汇集了丰富的设计作品、素材和教程,能为你的设计带来很大的帮助。
Emotions by Mike
Mark Forrester
Jeff Sarmiento
Rawkes
Darren Hoyt
Spoon Gra
http://www.cyqdata.cn/cnblogs/article-detail-37396
企业信息开发平台(3)数据表设计
建立数据表是开发应用系统模块的第一个步骤,但是根据不同项目所选用的数据库系统不同,所需使用的建立表工具也不一样,目前比较流行的有Sql Server、Oracle等,这样就会造成系统在公司内部的版本不一致等问题。
数据表设计器是一款在Sql Server企业管理器和PL/SQ
http://www.cyqdata.cn/cnblogs/article-detail-37392
仿照Windows任务计划的数据库设计
一直以为实现一个类型Windows的任务计划的数据库设计(计划调度部分不考虑具体的任务步骤执行),最近认真的看了下每个配置才发现其实也不难,关键是搞清楚不管任务计划怎么个配置(按天,按周,按月),对任务调度进程来说只要知道当前时间点应该执行那些任务就好了,即任务调度进程发现某一任务的“下次执行时间”小于等于当前时间时,则执行之,并且将任务的上次执行时间更新为当前时间,并且根
http://www.cyqdata.cn/cnblogs/article-detail-37376
分享101个精美的作品集网站设计案例
一个精美的个人作品集网站是吸引更多客户的最好方式。如果你正在建设个人作品集网站或者想重新设计的话可以参考本文收集的这些示例,相信这些精美的网站作品会带给你灵感。同时,这些网站中汇集了丰富的设计作品、素材和教程,能为你的设计带来很大的帮助。
Emotions by Mike
Spoon Graphics
Dawghouse Design Studios
Adaptd
David Hellman
http://www.cyqdata.cn/cnblogs/article-detail-37365
改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
1. Decompose Conditional (分解条件式)
解释:
"复杂的条件逻辑" 是导致复杂性上升最常见的地方, "条件表达式中堆积的计算过程", "条件式表达得不简洁"等等都是造成复杂的原因. Decompose Conditional 用于将这些复杂的元素从条件表达式中分离出去, 仅在条件表达式中调用简洁的函数.
&n
http://www.cyqdata.cn/cnblogs/article-detail-37360