本文的基础是搞了一次内部的技术分享,在此也分享一下本次的PPT的一些内容。先列一下大概内容吧。

  • EF—Code First
  • API(WCF、WebAPI)
  • Xaml
  • MVVM
  • AOP
  • Xamarin.Forms
  • ABP(ASP.NET Boilerplate)
  • Tools

EF—Code First

关于 EF 园子里有好多具体的讲解,所以我就简单放几行代码

EF-Code First 入门

API

现在都喜欢全平台开发,那用 API 来获取数据就可以复用这个部分,而且也很方便。

首先了解一下怎么设计 Restful 规范的 API。REST API Design - Resource Modeling

  • WCF

最初我打算写 API 时还不知道 WebAPI ,所以就用 WCF 写了,其实也不错,虽然配置文件参数太多,要想好好配置一下还是有点费事的

基于 WCF 的 API 实现

  • WebAPI

其实这里我跳过了普通的 WebAPI , 使用的是微软的开源项目 OData,其实就是在 WebAPI 上封装了一些东西,很好用,我的理解是符合了规范,多了几个 $ 的扩展,在就是把用 Model 某一个字段来过滤数据而不用单独去写 WebAPI 了(正确解释和详情请见 OData 官网)。

基于 WebAPI 的 API 实现

相关链接

XAML

Path

灵活运用 Path ,比如画个非常简单的图形,我一般用来画 Button 上的图标,不会画没关系,Metro Studio 里有 3000+ ,实在不行可以找美工要啊,之前还从群里的小伙伴那里得到个中国地图,当然只是画到省份,在具体就没有了,不过完全够用了。

用 Path 画 Button

Blend

不要觉得这个是专门给美工用的工具,事实上会用的非常少,还是自己来吧,比写代码快很多的。

MVVM

这个大概讲了一下基本概念,网上很多,我就不粘了,总之 MVVM 还是很有用的,就算你不写桌面程序,AngularJS 也是需要用的。框架太多了,就简单说几个记得住的吧。

  • Prism:微软提供,传说太大太重了,反正我也没好好用过,不好说。
  • MvvmLight:开源免费,很轻恨灵活所以用的人也很多。
  • Caliburn.Micro:开源免费,有很多比较易用的封装,我用的是这个,Xamarin.Forms 也用的这个。
  • Catel:开源免费,也很出名,但是完全没看过,略。
  • MvvmCross:开源免费,这个比较厉害的是很早就支持跨平台了,接触这个也是做 Xamarin 的时候,其他的我也不是很了解,但是在 Xamarin 里有很多的 Plugin 可用,资源很丰富。但是最近发现Sample里的例子都要在 Android 里再写一遍页面,很奇怪。
  • FreshMvvm:开源免费,Xamarin.Forms专用,但是 ViewModel 总是要传一个 Model,所以不是很喜欢

AOP

按照 DDD(Domain-Driven Design) 的思想,很多基础的东西都是可以用 AOP 来实现的,日志,权限,认证,等等吧,ASP.NET 中已经有了一些,但其实还是有很多可以用的地方。

用 AOP 简化 MVVM框架

相关链接

  • Fody:开源免费,有很多 Addins 可用。
  • PostSharp:收费,但是很强大。

Xamarin.Forms

通过一套代码就可以跑3个移动平台,并且现在还免费了,Xamarin 配套的东西很多,什么云测试啊,性能监控啊,很很多成熟的作品了,已经过了一步一坑的时代了,完全可以用了。

相关链接

ABP

基于 DDD 思想的 ASP.NET 开源框架,已经支持 ASP.NET Core ,集成了很多强大且有用的开源项目,AutoMapper,OData...,具体的可以看官网,总之很强大,官网还支持输入项目名称就可以生成项目代码,你可以下载下来慢慢学,还有完善的文档,园子里也有很多大神组织学习。我也是从他们那知道这个的,官方文档下边连接了他们翻译的中文文档。 当然学习这个的前提还是挺高的,EF Code First,WebAPI,OData,AngularJS,Typescript(AngularJS 2 用 TS)...,还有最重要的 DDD 的思想总得懂吧,如果你还担心 ASP.NET Core 的性能问题,那请看 这个测试

相关链接

Tools

最后是一些工具和资源的连接

其实这里主要是讲了一下我知道的一些技术的简单介绍,没有深入讲解,希望对你们有用。

内部技术分享的 PPT的更多相关文章

  1. 教你制作高逼格的技术分享Keynote(PPT)

    本文来自 网易云社区 . 作为一个程序猿/媛,想必大家都参与过大大小小各式各样的技术分享,异或在不同的场合分享自己的技术心得.抛开分享内容的质量不谈,笔者发现通常这些分享者的演示文稿(Keynot或P ...

  2. 公司内部技术分享之Vue.js和前端工程化

    今天主要的核心话题是Vue.js和前端工程化.我将结合我这两年多的工作学习经历来谈谈这个,主要侧重点是前端工程化,Vue.js侧重点相对前端工程化,比重不是特别大. Vue.js Vue.js和Rea ...

  3. 【转】子弹短信内部技术分享:Redis

    原理 Redis 是一个内存型「数据库」,除存储之外,它还有许多强大的命令,使之远远超出了数据库的定义,所以官方称之为「data structure store」,数据结构存储系统. 通过 Redis ...

  4. 技术分享之AQS——内容提要

    1. 背景 最近团队内部技术分享,我做了个关于AQS的分享.ppt中涵盖的部分要点内容,现在整理到博客上. 关于AQS本身的源码解读,可以参考我之前的博文. 2. 要点梳理 下面是一些技术分享的要点梳 ...

  5. 技术分享PPT整理(一):Bootstrap基础与应用

    最近在复习的时候总感觉有些知识点总结过,但是翻了一下博客没有找到,才想起来有一些内容是放在部门的技术分享里的,趁这个时候跳了几篇相对有价值的梳理一下,因为都是PPT,所以内容相对零散,以要点和图片为主 ...

  6. 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路

    本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...

  7. 腾讯技术分享:GIF动图技术详解及手机QQ动态表情压缩技术实践

    本文来自腾讯前端开发工程师“ wendygogogo”的技术分享,作者自评:“在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦.” 1.GIF格式的历史 GIF ( Gr ...

  8. 微信技术分享:微信的海量IM聊天消息序列号生成实践(算法原理篇)

    1.点评 对于IM系统来说,如何做到IM聊天消息离线差异拉取(差异拉取是为了节省流量).消息多端同步.消息顺序保证等,是典型的IM技术难点. 就像即时通讯网整理的以下IM开发干货系列一样: <I ...

  9. 腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践

    1.概述 本文来自腾讯视频云终端技术总监rexchang(常青)技术分享,内容分别介绍了微信小程序视音视频和WebRTC的技术特征.差异等,并针对两者的技术差异分享和总结了微信小程序视音视频和WebR ...

随机推荐

  1. 使用手机模拟器与android操作系统

    创建手机模拟器: 1. 点击Eclipse中新增的按钮,打开"Android Virtual Device Manager"(不同版本的ADT可能打开路径不同),如下图: 2. 点 ...

  2. mysql 重命名表名

    先创建一张表: -- 创建用户表 CREATE TABLE user10( id SMALLINT UNSIGNED KEY AUTO_INCREMENT, username ) NOT NULL U ...

  3. 解决eclipse配置Tomcat时找不到server选项

    集成Eclipse和Tomcat时找不到server选项: 按照网上的步骤如下: 在Eclipse中,窗口(window)——首选项(preferences)——服务器(Server)——运行时环境( ...

  4. Divisibility by Eight (数学)

    Divisibility by Eight time limit per test 2 seconds memory limit per test 256 megabytes input standa ...

  5. 剑指Offer46 求1+2+...+n

    /************************************************************************* > File Name: 46_Accumu ...

  6. JavaScript作用域(链)学习笔记

    作用域是javascript老生常谈的问题,在面试题中也经常出现.此文记录本人对js作用域的理解.从以下三个方面深入探讨js作用域和js作用域链. 1.什么是作用域? 2.什么是作用域链? 3.常见面 ...

  7. Javascript delete 引用类型对象

    很少使用javascript的delete,最近因为一个小bug发现删除引用类型对象的时候有一点不同.如下面例子: var testVar = { a : { test : 1 } }, test1 ...

  8. win8.1开启虚拟wifi

    1. 使用管理员身份打开cmd 2. 然后输入netsh wlan set hostednetwork mode=allow 3. 接着输入netsh wlan start hostednetwork ...

  9. Application 统计在线人数

    MVC 统计在线人数: protected void Application_Start() { Application[; AreaRegistration.RegisterAllAreas(); ...

  10. (转)RabbitMQ消息队列(九):Publisher的消息确认机制

    在前面的文章中提到了queue和consumer之间的消息确认机制:通过设置ack.那么Publisher能不到知道他post的Message有没有到达queue,甚至更近一步,是否被某个Consum ...