2011.12.12-17周总结


本周的工作量比较少,大致完成了以下几个内容:

1.储配站系统已经在部署交付了,所以我的任务就在总部做一些后续性的工作(继续测试、补充文档),虽然在部署的时候有一些小问题,但从同事反应回的信息来看还是比较顺利的,预期将会在20多号就能交付并返回。

2.项目在部署的时候,对于系统还做了一些修改,我也根据同事传回的修改文档,对项目进行了同步的更新测试。今天也对系统“项目配置”这一块的功能进行了一些完善和测试,一切顺利。

3.大概花了3个小时的时间完成了另一个项目的资源英文化。

4.修改了一些说明文档的内容。

以上就为本周工作概要,总体来说是很清闲的一周。


趁着这些天清闲的空隙,基于刚刚完成的这个项目,对三层设计、框架、架构、设计模式这些概念进行了了解学习,收获不小。 开始看《大话设计模式》,觉得真是受益匪浅。正在不断的阅读练习思考中……


附上一些学习笔记:


0.世间万物都遵循着某种规律,谁先掌握住了这些规律,谁就能更早的成为强者。


1.UML图图示样例解释
1.第一层显示类的名称,如果是抽象类则用斜体,接口则标明<<Interface>>
2.+public -private #protected
3.继承关系用 空心三角形+实线
4.实现接口用 空心三角形+虚线
5.关联关系用 实线箭头
6.依赖关系用 虚线箭头
7.聚合关系用 空心的菱形+实线箭头
8.合成关系用 实心的菱形+实线箭头


2.聚合关系表示一种弱的“拥有”关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分。聚合关系用空心的菱型+实线箭头来表示。


3.当不同的行为堆砌在一个类中时,就很难不使用条件语句来选择合适的行为。将这些行为封装在一个个独立的策略类中,可以在使用这些行为的类中消除条件语句————为了减小耦合性,而使得代码结构变得复杂了?


4.策略模式就是用来封装算法的,几乎可以用它来封装任何类型的规则。


5.反射反射,程序员的快乐。 
Assembly.Load("程序集名称").CreateInstance("命名空间.类名称")


6.开放-封闭的原则


7.就一个类而言,应该仅有一个引起它变化的原因


8.依赖倒转原则:
1.高层模块不应该依赖低层模块,两个都应该依赖抽象
2.抽象不应该依赖细节,细节应该依赖抽象


9.装饰模式,有效的把类的核心职责和装饰功能区分开,而且可以去除相关类中重复的装饰逻辑。


10.代理模式,有什么好处? 可以解决什么问题?


11.简单工厂模式 VS 工厂方法
1.简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖性。 但是在拓展方法的时候,就会要增加算法,修改Case分支,这就违背了开放-封闭原则。
2.工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。
3.工厂方法把简单工厂的内部逻辑判断移到了客户端代码来进行。


12.继承要有意义,就应该成为子类的末班,所有重复的代码都应该上升到父类去,而不是让每个子类都去重复。
当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其个别步骤在更详细的层次上的实现可能不同时,我们。通常考虑用模板的方法模式来处理


13.信息的隐藏促进了软件的复用,减弱了类之间的耦合性



这些天的学习思考也积累了不少的问题和想法,有些得到了解释,有些则还存在疑惑,那就先记录下来吧。



什么是框架,架构?
1.特别是,很难明确地区分设计和构架:构架属于设计的一方面,它集中于某些具体的特征。


编译型的语言,解释性的语言之间的区别。

学习了解什么是 面向接口设计

List<string> 与 string[] 有什么区别?

If的多层次嵌套,对于效率和性能有什么影响? 逻辑是是否必须多层嵌套? 是否有可替代算法

DateTimePicker dtp = (DateTimePicker)groupBox1.Controls[i]; 是否在内存中创建了新的对象?

声明了一个全局对象,然后在不同的方法里定义实例化该对象,那么之前实例化的对象是不是都被垃圾回收了?

该如何应对,对数据库的并发访问?

string.Empty 与 null 与“” 的区别?
string.Empty == "" ,string.Empty不分配存储空间,"" 分配一个长度为空的存储空间
判定为空字符串的几种写法,按照性能从高到低的顺序是:
s.Length == 0      优于 s == string.Empty      优于 s == "" 
 null 代表空引用

声明一个对象的时候 将其定义为 null 有什么意义?
声明对象时初始化指向null,这样再做 if(对象==null)的时候就不会报错


如何实现在Winform控件的指定位置,跳出Tips提示,比如说某些输入框不支持输入特殊符号,如果输入,则会提示。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值