趣头条 Tech Leader
今天跟大家分享一下本人在“.NET简谈构件系统开发模式”一文中提到的软件架构设计思路的具体实现细节。 大家看了我这篇文章后,总问我为什么要起个这么怪异的名字“构件”而不用“插件”。其实这个名字在我脑子漂浮了很久,一直找不到合适的场合用它。
我们继续C#基础知识的学习,这篇文章对前面基础知识学习的朋友有着举足轻重的作用;为了延续基础知识学习的热情,我编写了这篇特殊的文章。 本篇文章的中心是想借“.NET简谈反射(动态调用)”一文继续发挥下去,让朋友能一气呵成,到底反射能用在什么地方,究竟能起到多么高级的作用。
我们继续C#基础知识的学习,这篇文章主要要讲的是我们C#程序员迈向高级C#程序员的关键性的一步。 有的朋友会说事实不是这样的,我不用反射就不能开发吗?当然可以,但是用与不用肯定是不一样的,任何复杂抽象的分层架构或者说是复杂的设计模式均是建立在这些基础之上的,比如我们要进行模块化、组件化开发,要严格的消除模块之间的耦合,要进行动态接口调用。
由于很久没有写关于基础知识的东西了,今天来总结一下关于.NET平台中的代码属性的概念;只是基础介绍,文章的本意是带领初学者学会使用特性,而不是讨论高深的底层技术;[王清培版权所有,转载请给出署名] 1.
互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用) .NET简谈互操作(六:基础知识之提升平台调用性能) .NET简谈互操作(七:数据封送之介绍) 我们继续.NET互操作学习。
由于本人最近一段时间一直在忙着跟企业开发平台相关的事情,所以有感而发一下;主要是想跟大家探讨一下企业是否需要有自己的开发平台; 我们作为.NET程序员,基本上开发的都是一些业务信息系统,都是某个应用行业的应用系统多,所以在下曾想过开发一套目前本公司能用的系统开发平台; 其实本人认为有这个必要,我...
互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用) .NET简谈互操作(六:基础知识之提升平台调用性能) .NET简谈互操作(七:数据封送之介绍) 我们继续.NET互操作学习。
在本人的“每个程序员都应该经历一次软考的”一文中,强烈的分析了软考对我们程序员的重要性,尽管有些人觉得我在乱说;我还是那句话,任何一篇文章都有存在的价值;作为我们刚刚步入软件开发领域的初学者来说,有时候真的会觉得迷茫,学着学着就会觉得没兴趣或者说是没有力气,当然软件开发本来就属于一种高智商的脑力活动...
互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用) .NET简谈互操作(六:基础知识之提升平台调用性能) .NET简谈互操作(七:数据封送之介绍) 我们继续.NET互操作学习。
互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之Dispose非托管内存) .NET简谈互操作(五:基础知识之Dynamic平台调用) .NET简谈互操作(六:基础知识之提升平台调用性能) .NET简谈互操作(七:数据封送之介绍) 我们继续.NET互操作学习。
互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之释放非托管内存) .
互操作系列文章: .NET简谈互操作(一:开篇介绍) .NET简谈互操作(二:先睹为快) .NET简谈互操作(三:基础知识之DllImport特性) .NET简谈互操作(四:基础知识之释放非托管内存) .
由于本人最近在工作中一直不太顺利,不知道是自己的原因还是周围的环境变化的原因;时间过的真快来公司快一年了,在这一年里公司发展的飞快,开发人员比去年翻了近两倍,公司的盈利据说也比上一年翻了许多;我们也为公司的发展而高兴,毕竟我们也付出了许多,这付出是远远操作公司付给我们的报酬的,完全是来自自身的责任心...
大家好,今天这篇文章不是由我来跟大家讲解什么技术,而是我们一起来探讨.NETFrameWork中的重要部件CLR的秘密,众所周知CLR是所有非托管代码的运行时环境,.NET技术平台发展到今天已经经历了近10年的风风雨雨,各大书店数不胜数的.
今天讨论的问题可能会引起很多争议,但我还是坚持做有争议的敢说真话的人;软考在很多各大高校里还是比较流行的,只能说是流行而已,60%的人只是去凑热闹为国家软考办去做贡献的,为什么要说“每个程序员都应该经历一次软考”呢,这是源自于本人从软考中得到的感悟吧,在园子里很多人都是经历过软考的,有的人会说软考没...
在本人的“.NET简谈插件系统开发模式”一文中我们详细介绍了插件系统开发模式的优越性,尽管.NET平台或者第三方提供的平台都为我们实现了底层插件原理模型,我们可以在上面进行开发,作为一名有求知欲的程序员才是一名合格的程序员;我们不能满足系统为我们提供的功能,我们要向下沉,沉的越深越好,躲开那些应用变...
网上关于安装部署的文章太多,我就不多写那些重复的东西了;这篇文章就简单介绍部署ActiveX控件要注意的细节。本人的“.NET实现之(ActiveX插件开发)”一文中介绍了在.NET平台下开发ActiveX控件的方法,但是没有介绍怎么部署开发好的ActiveX插件,所以今天就来弥补这个空缺; 由于...
今天跟大家分享一下我们在日常开发中并不常用的开发模式“插件系统模式”,什么叫插件从大一点的概念讲就是我们开发的软件是由很小的模块组成,每一块都能成功的装卸,使我们的软件成为一个有机体,在发生重大事故、改良优化等等的时候,我们不需要重新编译我们的系统就能很方便的进行升级替换进行使用;这样的开发模式就是...
我们继续“.NET实现之(WebBrowser数据采集)“系列篇之最后一篇,这篇本人打算主要讲解怎么用WebBrowser控件来实现“虚拟”的交互性程序;比如我们用Winform做为宿主容器,用Asp.
我们继续上一篇".NET实现之(WebBrowser数据采集-基础篇)",由于时间关系这篇文未能及时编写;上一篇文章发布后,得来了部分博友的反对意见,觉得这样的文章没有意义,WebBrowser采集数据效率低下用WebRequest效率就能提高了,本人不理解,为什么同样是HTTP协议进行数据采集,效...
本人写博客总是喜欢来一段开场白,其实细心看我文章的朋友能明白我的意思,本人就是想让更多的人能理解我写文章的用意,力求用通俗易懂的方式展现复杂抽象的概念,写文章的朋友尤其是用心写文章的朋友,其实真正的目的不是写文章而是去帮助大家学习技术,在.
茫茫大海中,我们寻觅着,寻觅着那让我们激动不已的技术,程序员不是寻觅着女朋友,而是寻觅着能陪伴终身的技术,我们做为程序员,有时候真的为自己的职业感到可悲,没时间陪家人、没时间逛街、没时间聊天等等,我们把那些时间都用在了学习上,技术的道理上没有终点站,只有一个个的里程碑,今天的不学习,就注定明天被淘汰...
我们都知道软件发展经历了很长一段路程,在软件刚刚起步的时候,有一批世界顶尖的科学家用自己整个的人生为我们创造了今天美好的信息世界,我印象最深的是我看过一本书,书名是《优雅人生》是专门介绍一位伟大的女性IT工作者,她是一位传奇人物,她是编译器的先驱,在她晚年的时候都拼命在一线开发环境中肩负着整个美国的...
在打算讲这篇文章之前我深思一个下午,打算分两篇来讲的,但是又怕读者看着嫌烦;其实稍微了解一点ActiveX插件的朋友都能知道,这样一扯可能出现一堆问题;但是我还是决定通过简单的方式尽量让初学者少接触底层的东西包括OLE(对象连接与嵌入)、COM(组件对象模型)之类的概念,但是ActiveX插件在开发上有很高的技术要求,虽然.
在我们日常开发过程中经常会遇到多个类实例之间的关联,不管是B/S还是C/S的项目,在对实例的使用是一样的;只不过C/S的项目比较好控制,不管是UI层的对象都能很好的控制,包括继承、重写等等;而在B/S里面可能不太方便,由于B/S本身的特点,不能暴露内部太多的继承关系,以免不小心破坏类的封闭性;我这篇...
说起数据提供程序大家都不陌生,数据提供程序的作用就是以统一的接口去访问不同的数据源,如OledbProvider、SqlServerProvider、OrcaleProvider等等;不同数据源的访问其实是不一样的,微软数据源的访问方式从ODBC到ADO.
ORM模型在现在的项目开发中用的还是比较多的,他的好坏我们就不讨论了,已学习为主吧; ORM模型的大概思想就是实体与我们库中的表的对应关系,一个实体就好比表中的一行数据,将实体的操作视为对表的操作,如增、删、该、查就是对表的同样操作,我们只需要简单的封装一下就可以省很多的重复劳动,通过ORM模型对...
做开发的人,尤其是做客户端(C/S)系统开发的人都会遇到一个头疼的问题,就是软件的自动更新;系统发布后怎样自动的更新程序,在下有幸开发过一个自动更新程序,更新程序与任何宿主程序是完全独立的;只要在主程序里面启动更新程序就行了;更新程序也是一个可执行文件,在启动的时候可以设置是否是自动更新和是否是手动...
过程式的开发方式已逐渐退出大众的眼线,随之而来的是各种各样的高抽象的开发模式;我们不得不承认在没有设计模式的时候,我们很难总结出有价值的开发模型,便于以后重复使用和推广;面向对象的流行,让我们开发人员重新站在一个高的起点来看待软件模型,抽象固然是好事,但是也给初学者带来了迷惑,将软件中的东西都想成很...
文章开头本人申明一点,本人写的文章力求让看的人能理解精髓而不是专业化,博客园的好多人在写文章的时候总想着怎么怎么专业化,巴不得看的人都看不懂才能体现出他的技术,他的牛B,技术不是用来显威风用的,在你掌握了某种技术的时候,不要想着横扫博客园之类的思想,有点技术就开始浮躁连说话都开始像李莲英;我不是想这...
观察者模式想必搞程序开发的都听说过,今天我也来简单的总结一下本人在程序开发过程中是怎么使用观察者模式的;希望给大家带来点新的想法,如果哪位高手看到了也不要嘲笑啊;呵呵,最求技术的人,始终都是为了技术而学技术,目的只有一个一起最求技术的最高境界; 观察者模式是设计模式里经常被用到的一种,什么叫观察者...
打印想必大家都遇到过这样的问题,不想用那些太过强大的打印控件,在我开发的过程中也遇到了这样的情况我想要实现基本的纸面套打也就是将不同的纸面合同协议之类的A4纸打印上规定好的文字;上网搜了搜没有合适的第三方工具要么就是很复杂的报表设计器要么就是需要一系列的注册过程的工具; 所以本人就实现了模板打印设计器组件,纸面套打支持多页同时打印.
其实C#的事件与委托在日常开发过程中不用也能解决问题,但是用于不用是不同的;更能体现出对象的高内聚、低耦合,两个对象要想互操作,对外提供接口;甚至是让另一个对象来处理本对象在发生指定事件的时候的操作;打个比方,我把自己比喻成一个对象,把饭店老板比喻成另一个对象;这两个对象是完全独立的,我并不知道我要...
先给大家说声不好意思,在本人的".net简谈分层架构思想(彻底分离每个层)"文章中由于缺乏示例代码,所以给大家理解带来不便,小弟先赔礼;这篇文章我补充所有实现彻底分层的全部代码。 彻底分层的好处是能合理的分配各个人员的工作量,比如在我们某一个项目团队里面可能有的人偏向于UI设计开发,有的偏向于业务...
提到分层,我就想起一句图灵奖获得者说过的话:计算机科学领域任何问题,都可以间接的通过添加一个中间层来解决;当初看到这句话的时候还不能深刻的体会到这句话的真正灵魂是什么。之所以要写这篇文章作为技术爱好者之一更愿意与大家分享技术给我们带来的快乐,本人将从另一个角度来解析.NET分层架构的真正奥秘。
自从面向对象开发方式的出现,抽象的概念就开始日新月异的发展,面向对象编程、面向接口编程、面向组件编程等等;这一系列的概念都是软件工程所追求的思想范畴,高类聚低耦合。 今天我要简谈的是面向对象里面非常重要的也是非常抽象的概念,接口。
说起链表大家都很熟悉,说起委托相信大部分的.NET程序员都也很了解;在平时的开发过程中经常会用到这两种技术,只不过链表在.NET里面已经被封装了,让我们用起来更加的方便就是集合类型Collection,在某种时候我们是有必要要了解这些方便而又快捷的背后是怎样封装的,委托是一种特殊的类型在.
一:系统简介 该系统采用3D全视角模仿现实中的企业办公环境,以一个通讯中心平台让各个想相互通讯的企业可以接入进来,系统完全摆脱传统的开发思想和应用方式以真实环境面对用户,用户可以在本系统中找到自己所属的部门自己的工作空间自己的办公室可以清楚的看见自己座位办公用品,系统会模拟真实员工的3D造型。