架构设计
文章平均质量分 54
绿龙术士
这个作者很懒,什么都没留下…
展开
-
【笔记】编程的原则:改善代码质量的101个方法
代码必然被修改KISS原则DRY性能调优的箴言一步一步走布鲁克斯法则防御性编程破窗效应熵增原理80-10-10原则第二系统综合征重新发明车轮给牦牛剃毛原创 2021-08-20 16:56:15 · 3733 阅读 · 0 评论 -
面向对象技术 - 设计模式
设计原则:设计模式概念:模式就是以前成功方案的复用考点:区分惯用法和设计模式主要是看是否与语言相关惯用法与语言相关,设计模式则与语言无关考点:区分架构模式和设计模式主要是看是否从全局看待问题架构模式是从全局的角度看待问题,设计模式则是从局部看待问题设计模式的分类:考点:区分不同设计模式属于哪一类型的模式(是创建型模式还是结构型模式还是行为型模式)设计模式(创建型模式):原型模式:节省开辟内存的消耗设计模式(结构型模式):..原创 2021-04-14 09:06:58 · 158 阅读 · 0 评论 -
ASP.NET MVC + Jquery + Layui实战入门
大家好,我最近正计划出一期关于ASP.NET的实战课程,这里做一个简单的介绍。项目是关于财务分析的,采用ASP.NET MVC,开发工具我用的是VS2017企业版,以及SQLServer 2012原创 2019-05-07 13:34:57 · 3955 阅读 · 4 评论 -
MVC模式概述
MVC模式的主要目标是将应用程序分为各司其职的部分—模型,视图,控制器。模式是指应用程序的状态,封装了应用程序的功能,并通知视图其状态发生了变化。视图是指将要展示给用户的图形化元素的生成,视图还需捕获并处理用户的操作。控制器将用户的操作映射出成程序的操作,并负责选则下一个视图。MVC带来了一下几个优势。首先,它简化了测试对用户界面的操作。将代码从视图中分离开意味着修改图形界面不会影响到用户界面的行...转载 2018-06-06 14:41:35 · 633 阅读 · 0 评论 -
表现层的常见误区
表现层的常见误区1. 表现层开发过于依赖RAD工具直接在Click事件的处理函数中编写T-SQL语句当然也可以完成任务,且方便快捷,这也是RAD最为强大的功能。只要移动鼠标,单击,选中某个元素属性,然后双击,工具就为你自动生成了一大批外层代码,只要在其中填写一些逻辑即可。无节制地滥用RAD开发模式会让你创建出很多自治视图。所谓自治视图,是指用一个来编写用户界面的状态和其中需要的所有行为。自治视...转载 2018-06-06 14:39:09 · 391 阅读 · 0 评论 -
Web前端的服务层
Web前端的服务层 在ASP.NET Web应用程序中,表现层被分成了两个物理层------运行JavaScript代码的Web浏览器和运行托管代码语言编写的代码后置文件及表现层逻辑的Web服务器。大多数时候,服务层和表现层的逻辑运行在同一个IIS工作进程中,目前看了这没有问题。 不过随着AJAX等富Web前端的兴起,情况发生了很大的变化。Web浏览器的功能越来越多,表现层的任...转载 2018-05-30 16:52:08 · 2633 阅读 · 0 评论 -
何时使用服务层?
何时使用服务层?服务层应该用在有所有一定复杂度的应用程序中,在多层分布式系统中,除非你只只用一种前端(例如Web端),且应用程序服务的方法与系统的用例能很好的匹配起来,这时服务层仅仅起到一个分发的作用,并且没有工作需要组织。那些简单的,仅用来把请求转发给业务层的服务确实有些多余。相反,若你有多个前端且应用逻辑较为复杂,那么最好将整个业务逻辑放到统一的位置,而不是为每个应用程序的接口都重新编写一次。...转载 2018-05-30 16:45:35 · 278 阅读 · 0 评论 -
数据访问层的职责
数据库的独立性数据库独立性的含义是无论最终数据存储的介质是什么,数据访问层都要能够为系统的其他部分提供相同的服务,例如,创建,读取,更新,修改,事务性和查询等。若你的模型中包含一个名为Customer的对象,那么数据访问层要能够将其存放在不同的存储介质中,例如,SQLServer或Oracle。数据访问层将对业务层隐藏此细节。那么我们如何实现数据库的独立性呢?...转载 2018-06-05 15:33:18 · 5402 阅读 · 0 评论 -
什么是可测试性?
以下内容来自《Microsoft .NET企业级应用架构设计》Bruce Eckel曾提出一句流行的口号,表明软件测试的重要性:若软件没有经过测试,那么可定无法完成工作。测试会位于不同的层次上,比如用单元测试来判断软件的各个独立单元是否符合功能性需求,用集成测试来判断软件能否适应运行环境和基础设施,以及多个组件能否正常协同工作。最后,验收测试用来判断完成的系统是否符合客户的需求。单...转载 2018-05-23 16:39:47 · 7832 阅读 · 0 评论 -
服务层中的服务
以下内容来自《Microsoft .NET企业级应用架构设计》从架构上讲,服务层应用了软件设计中一个通用且人人皆知的原则--低耦合,可能还应用了另一个原则,高内聚,这是通过一个中间层解除用户界面和中间层的耦合来实现。在该图中,服务层表示成了一个远端的层,不过实际中并不要求这样实现,其取决于项目的客户端(Web或Windows)。服务层可能就是表现层的一部分。如果那样,服务层不需要设计...转载 2018-05-25 15:49:55 · 3686 阅读 · 0 评论 -
Layer和Tier的区别
对于Tier,我们用其表示系统中物理上的硬件和软件,由执行同样功能的一台或多台服务器定义。相反地,Layer用来表示系统中完成指定任务的逻辑部分。因此多个Layer可以同存在同一台物理Tier中,某个Layer也应该可以轻易移动到另一个Tier上。良好的可重用性加上正确地对功能进行拆分将大大降低系统的维护成本。总而言之,逻辑分层可以很大程度上缩短开发周期,并允许不同团队并行开发。物理层中一个重要的...转载 2018-05-25 15:44:32 · 1980 阅读 · 0 评论 -
面向对象设计的基本原则
面向对象设计的基本原则:找到合适的对象,尽量降低耦合,尽量保证代码重用。1.我们如何找到合适的对象呢?我们不应该考虑算法,而是专注于设计互相交互的实体。交互的实体就是合适的对象。2.尽量降低耦合,基于接口编程,而不是实现编程。若类型的依赖基于接口,那么也就最小化了类型之间的依赖--即仅依赖于接口中定义的方法。3.尽量保证代码重用,《设计模式》中作者总结出了两种实现重用的方式:白盒重用和黑盒重用。前...转载 2018-05-21 16:57:03 · 186 阅读 · 0 评论 -
内聚和耦合
以下内容来自《Microsoft .NET企业级应用架构设计》高内聚表示某个特定的软件模块----无论是一个子程序,一个类型还是一个类库,都应完成一系列极为相关的功能。换句话说,内聚表示同一个类型中不同方法,同一个类库中不同函数,同一个方法中不同操作所表达的逻辑之间的距离。我的理解是你在订单模块中尽量只写有关于订单的代码,不要在里面写关于用户模块的代码。如需要修改用户,你可以调用用于模块的接口完成...转载 2018-05-17 16:59:18 · 2054 阅读 · 1 评论 -
.NET企业架构设计
软件的需求和质量系统的最终目标有一系列需求描述,这些需求最终决定了系统的架构。需求又分为功能需求和非功能需求:功能性需求是指系统需要做的事情,即系统需要为特定的任务和达到用户的目的提供哪些功能。通常而言,一个功能包含输入,行为和输出。软件需求必须“清晰,正确,避免二义,明确且可检验的”非功能需求是指不属于工方面的需求。一个常见的例子是使用(或不使用)某一特定版本的某框架,或是需要让最终产品可以和指...转载 2018-04-11 14:59:59 · 423 阅读 · 0 评论